Mac OS X: открыть файл в Finder + App Sandbox - PullRequest
7 голосов
/ 03 августа 2011

Я пытаюсь открыть окно поиска, которое работает нормально, но каждый раз, когда я делаю это, происходит задержка в 1 секунду и регистрируется ошибка.

[[NSWorkspace sharedWorkspace] selectFile:@"Users/[TheUser]/Downloads" inFileViewerRootedAtPath:pathStr];

В журнале отображаются:

__ CFPasteboardIssueSandboxExtensionForPath: ошибка для [/ Users / TheUser / Downloads /]

Это нормально?Я включил разрешения и разрешил доступ к папке загрузок.

1 Ответ

7 голосов
/ 26 июня 2012

Немного поздно, но я тоже наткнулся на это и нашел ответ на этот вопрос. Чтобы это предупреждение / ошибка / что бы это ни было исчезло, вам нужно иметь URL-адрес в области безопасности для пути (и это точка, где он может быть сложным для вас, потому что для получения такого URL вы должны используйте NSOpenPanel и раздражайте использование, даже если у вас есть право на папку!).

После того, как у вас есть этот URL-адрес в области безопасности, вам нужно вызвать метод startAccessingSecurityScopedResource, а затем сделать вызов NSWorkSpace. Не забудьте позвонить stopAccessingSecurityScopedResource после этого (вы можете сделать это сразу после возврата selectFile:inFileViewerRootedAtPath:), чтобы освободить ресурсы ядра и избежать невозможности сделать больше вызовов на startAccessingSecurityScopedResource.

...