ファイル パッケージのドキュメント スコープのセキュリティ スコープ ブックマークを作成しようとしています。つまり、 が存在するディレクトリNSURLIsPackageKey
ですYES
。通常、ドキュメントスコープのブックマークをディレクトリに作成できるとは思われていないことは知っていますが、パッケージはそれから除外されると予想していました(結局のところ、NSOpenPanel
ディレクトリの選択が許可されていないを使用してパッケージにアクセスできます、しかしそこには問題はありません)。
com.apple.security.files.bookmarks.document-scope
=で権限を設定しtrue
ました。 から受け取ったばかりのファイル URL を使用して、基本的なブックマーク作成呼び出しを実行していますNSOpenPanel
(アクセスできるようにします)。
NSError *bookmarkError = nil;
NSData *bookmark = [fileURL
bookmarkDataWithOptions:NSURLBookmarkCreationWithSecurityScope
includingResourceValuesForKeys:nil
relativeToURL:[self fileURL]
error:&bookmarkError];
ただし、この呼び出しの後、 と のbookmark
両方bookmarkError
がnil
.
ドキュメントベースのアプリを持っていても、これをあきらめて、アプリ スコープのブックマークを作成する必要がありますか? それは不適切に思えますが、別の回避策はありません。