Mac OS X: Отворете файла във Finder + App Sandbox

Опитвам се да отворя прозорец за намиране, който работи добре, но всеки път, когато правя това, има забавяне от 1 секунда и се записва грешка.

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

Дневникът показва:

__CFPasteboardIssueSandboxExtensionForPath: грешка за [/Users/TheUser/Downloads/]

Това нормално ли е? Активирах права и разреших достъп до папката за изтегляния.


person user610246    schedule 03.08.2011    source източник
comment
Имам същия проблем. Бихте ли го разрешили??   -  person Daniel    schedule 21.02.2012
comment
Аз също съм виждал това и бих искал да знам отговора.   -  person Dov    schedule 12.06.2012


Отговори (1)


Малко късно, но току-що се натъкнах и на това и намерих отговор за това. За да изчезне това предупреждение/грешка/каквото и да е, трябва да имате URL адрес с обхват на сигурността към пътя (и това е точката, в която може да е трудно за вас, защото за да получите такъв URL, вие трябва използвайте NSOpenPanel и дразнете използването, въпреки че имате правилното право за папката!).

След като имате този URL адрес с обхват на сигурността, трябва да извикате метода startAccessingSecurityScopedResource и след това да направите извикването си до NSWorkSpace. Не забравяйте да извикате stopAccessingSecurityScopedResource след това (можете да го направите веднага след като selectFile:inFileViewerRootedAtPath: се върне), за да освободите ресурси на ядрото и да избегнете невъзможността да правите повече извиквания към startAccessingSecurityScopedResource.

person JustSid    schedule 26.06.2012