3

Итак, у меня есть приложение с расширением share, каждый со своей целью. Ядром идентификатора пакета приложений является com.company.app, а общие расширения - com.company.app.share. Каждый из них имеет свой собственный файл прав, причем основными приложениями являются App Groups -> group.com.company.app, а расширение общего доступа - одно и то же. Оба идентификатора связки перечислены на веб-сайте разработчика Apple, но по какой-то причинеКак добавить файлы в общий каталог группы приложений?

У меня, похоже, нет необходимых прав на запись в общий каталог private/var/mobile/Containers/Shared/AppGroup/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Library/Caches/.

Сообщение об ошибке я получаю: You don’t have permission to save the file “Caches” in the folder “Library”.

Справочник сохраняются так:

GetZipURLInItems(self.extensionContext.inputItems, ^(NSURL *url, NSError *error) { 
    if (error == nil) { 

     NSURL *containerURL = [[[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:GroupIdentifier] URLByAppendingPathComponent:@"Library/Caches"]; 
     NSLog(@"EXT: containerURL: %@", containerURL); 

     [WPZipArchive unzipFileAtPath:[url path] toDestination:[containerURL absoluteString]]; 

     [self listDirectoryAtPath:[containerURL absoluteString]]; 
    }}); 

Что я я здесь отсутствует?

+0

Как вы пытаетесь это написать? Посмотрите на использование NSFileManager: containerURLForSecurityApplicationGroupIdentifier – Gruntcakes

+0

@Essenceofchickens Я обновил исходный вопрос, чтобы показать, как я сохраняю каталог. – kiaraRobles

+0

Вы пробовали это без URLByAppendingPathComponent: part? – Gruntcakes

ответ

1

Проблема была на самом деле с использованием [url absoluteString] vs [url path], сменив все URL-адреса на путь, разрешив ошибку разрешений.

Смежные вопросы