Как получить доступ к файлу из защищенной URL-адреса закладки в службе xpc?

Я создаю изолированное MacOS-приложение. Я получаю URL файла от NSOpenPanel, создать данные закладки и сохранить в хранилище данных. Затем я могу успешно восстановить URL из данных закладок и получить доступ к данным файла из моего приложения.

У меня также есть другая цель с XPC Service в проекте я передаю восстановленный URL этой цели, но у меня нет доступа к файлу с этого URL, когда я пытаюсь прочитать файл с этого XPC Service,

Мое базовое приложение и XPC Service цель оба имеютcom.apple.security.files.bookmarks.app-scopecom.apple.security.files.bookmarks.document-scopecom.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

0 ответов

Другие вопросы по тегам