Как получить доступ к файлу из защищенной URL-адреса закладки в службе xpc?
Я создаю изолированное MacOS-приложение. Я получаю URL файла от NSOpenPanel
, создать данные закладки и сохранить в хранилище данных. Затем я могу успешно восстановить URL из данных закладок и получить доступ к данным файла из моего приложения.
У меня также есть другая цель с XPC Service
в проекте я передаю восстановленный URL этой цели, но у меня нет доступа к файлу с этого URL, когда я пытаюсь прочитать файл с этого XPC Service
,
Мое базовое приложение и XPC Service
цель оба имеютcom.apple.security.files.bookmarks.app-scope
com.apple.security.files.bookmarks.document-scope
com.apple.security.files.user-selected.read-write
Что я должен сделать, чтобы иметь доступ к файлам из восстановленных URL-адресов в XPC Service
цель? И я могу скопировать или удалить файл из XPC Service
?
Базовое приложение
NSURL *url = [NSURL URLByResolvingBookmarkData:file.bookmarkData
options:NSURLBookmarkResolutionWithSecurityScope
relativeToURL:nil
bookmarkDataIsStale:nil
error:nil];
[url startAccessingSecurityScopedResource];
...
[self.connection.remoteObjectProxy getDataFromURL:url
withReply:aReply];
XPC Сервис
- (void)getDataFromURL:(NSURL *)anURL
withReply:(void (^)(NSData *))aReply {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
aReply([NSData dataWithContentsOfURL:anURL]);
});
}
[NSData dataWithContentsOfURL:anURL]
является nil