私はネットとAppleの助けを借りてこれに関する何らかのガイダンスを探していました。誰かが似たような状況に陥っているのだろうか、起こっていること(または起こっていないこと)について何らかの洞察を持っているのだろうか。ファイルのアプリスコープのブックマークを取得できません - OS X sandbox
私はアプリケーションによって後でセッションで呼び戻されるファイルのためのアプリスコープのブックマークを取得しようとしています。選択されたセッション中に開くことができるので、パス自体がユーザーによって選択された後、サンドボックスに正しく追加されていることを確認できます。
ただし、後でセキュリティスコープのブックマークを取得してアクセスすることはできません。
は、ここで私がやっているものです:私は、例えば、文字列path
などだけでそれをテストから生成url
でNSSavePanelのURL
の結果を、それの両方を試してみた
NSURL *url = [[NSURL alloc] initFileURLWithPath:path];
NSError *error = nil;
NSData *bookmarkData = [url
bookmarkDataWithOptions:(1UL << 11) //NSURLBookmarkCreationWithSecurityScope
includingResourceValuesForKeys:nil
relativeToURL:nil
error:&error];
[url release];
。 (文字列path
は、従来の理由から、私が使用したいものです。)
定数の代わりにbookmarkDataWithOptions
の値を使用する必要があります。これは、他の従来のコード私は、10.33 SDKでコンパイルしなければなりません。NSURLBookmarkCreationWithSecurityScope
は利用できません。
問題のファイルへのパスが "/Users/me/Documents/document.ext"であり、NSURL
が正しく初期化されている(または少なくとも同じパスを反映している)と確認できます。
このアプリケーションには、資格「com.apple.security.files.bookmarks.app-scope
」が含まれています。
とにかく、これは動作しません。それは0x0と0x0ののerror
、およびコンソールのbookmarkData
両方のコードの結果は示していますScopedBookmarkAgent: Failed to retrieve app-scope key, aborting.
私はurl
代わりにnil
こととcom.apple.security.files.bookmarks.document-scope
に資格を変更するrelativeToURL
を変更すると、適切に動作するようです - その少なくとも、0以外の値を取得し、エラーは記録されません。しかし、私はそれが私が望むものではないと確信しています(つまり、ドキュメントスコープブックマーク)。
明らかに私は間違っていますか?
私は、署名されていないビルドが原因であることを確認できます。ここでは、Open Source [Mac Linux USB Loader](https://github.com/SevenBits/Mac-Linux-USB-Loader)をデバッグしていましたが、これが私の問題を解決しました。 – Bigood