Область документа, закладки области безопасности для пакетов файлов

Я пытаюсь создать закладки с областью безопасности для пакетов файлов. То есть каталоги, где 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.

Нужно ли мне просто отказаться от этого и создать закладки на уровне приложения, даже если у меня есть приложение на основе документов? Это кажется неуместным, но я не вижу другого обходного пути.


person Tom Harrington    schedule 14.08.2013    source источник
comment
У меня нет ответа на ваш вопрос, но что-то, что меня укусило, это то, что URL-адрес файла документа равен нулю до первого сохранения, поэтому, если вы не установили право на область приложения, создание закладки не удастся.   -  person duncanwilcox    schedule 14.08.2013
comment
Я столкнулся с этим. По какой-то причине это сработало, хотя я точно не ставил com.apple.security.files.bookmarks.app-scope. Это привело меня к мысли, что у меня работают закладки в области документа, пока я не понял, что [self fileURL] все еще равен нулю.   -  person Tom Harrington    schedule 14.08.2013


Ответы (1)


Я спросил об этом в другом месте, и мне сказали:

... мы не реализовали его поддержку, потому что это сложно, и было очень мало запросов на это.

Так вот, вы не можете создать такую ​​закладку, потому что она не реализована. Я также отправил сообщение об ошибке в Apple, но ответ просто процитировал мне документы (т. е. сообщил мне то, что я уже знал и упомянул в своем отчете), прежде чем закрыть его. Так что на данный момент и, вероятно, в обозримом будущем это невозможно.

person Tom Harrington    schedule 16.08.2013