だから私は自分のターゲットを持つ共有拡張子を持つアプリを持っている。アプリのバンドルIDのコアはcom.company.app
で、共有の拡張子はcom.company.app.share
です。それぞれには独自のエンタイトルメントファイルがあり、コアアプリケーションはApp Groups -> group.com.company.app
であり、共有拡張は同じです。両方のバンドルIDはアップルデベロッパーのウェブサイトに掲載されていますが、何らかの理由でApp Groupの共有ディレクトリにファイルを追加するには?
共有の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]];
}});
?
どのように書き込もうとしていますか? NSFileManagerを使って見てください:containerURLForSecurityApplicationGroupIdentifier – Gruntcakes
@Essenceofchickens元の質問を更新して、私がどのようにディレクトリを保存しているかを表示しました。 – kiaraRobles
URLByAppendingPathComponent:の部分を使わずに試しましたか? – Gruntcakes