2011-08-03 9 views
7

私はうまく動作するファインダーウィンドウを開こうとしますが、これを行うたびに1秒の遅延とエラーが記録されます。Mac OS X:ファインダー+ App Sandboxでファイルを開く

[[NSWorkspace sharedWorkspace] selectFile:@ "ユーザ/ [TheUser] /ダウンロード" inFileViewerRootedAtPath:pathStr];

ログが表示されます。

__CFPasteboardIssueSandboxExtensionForPath:エラー ための[/ユーザ/ TheUser /ダウンロード/]

これは正常ですか?私は権利を有効にして、ダウンロードフォルダへのアクセスを許可しました。

+0

私は同じ問題があります。あなたはそれを解決できますか? – Daniel

+0

私もこれを見て、答えを知りたいと思います。 – Dov

答えて

7

ちょっと遅かったけど、これもちょっと偶然見つけて、これに対する答えを見つけました。それが何であれ、この警告/エラーが/消えするためには、セキュリティがパスにURLをスコープ(および、そのようなURLを取得するので、それは、あなたのために難しいかもしれないポイントは、あなたがNSOpenPanelを使用しなければならないthatsの持っている必要がありますあなたがフォルダの権利を持っていても、その使用を迷惑をかけることになります)。

セキュリティスコープのURLを取得したら、startAccessingSecurityScopedResourceメソッドに電話してから、NSWorkSpaceに電話する必要があります。その後stopAccessingSecurityScopedResourceに電話することを忘れないでください(selectFile:inFileViewerRootedAtPath:が返された直後に行うことができます)ので、カーネルリソースを解放して、startAccessingSecurityScopedResourceをさらに呼び出すことはできません。