如何将文件添加到应用组共享目录?

kia*_*les 5 filesystems permissions ios bundle-identifier ios8-share-extension

因此,我有一个带有共享扩展名的应用程序,每个应用程序都有自己的目标。应用程序捆绑标识符的核心是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]];
    }});
Run Code Online (Sandbox Code Playgroud)

我在这里想念什么?

kia*_*les 6

问题实际上是使用 [url absoluteString] 与 [url path],将所有 url 更改为 path 解决了权限错误。