アプリ拡張機能はどのようにしてアプリのDocuments/フォルダ内のファイルにアクセスできますか?質問する

アプリ拡張機能はどのようにしてアプリのDocuments/フォルダ内のファイルにアクセスできますか?質問する

アプリ拡張機能では、/var/mobile/Containers/Data/Application//Documents// フォルダーに保存されている、包含アプリから生成された画像を取得する方法はありますか?

ベストアンサー1

アプリ拡張機能でファイルを利用できるようにするにはGroup Path、アプリ拡張機能はアプリのドキュメントフォルダにアクセスできないため、次の手順に従ってください。

  1. 有効にするアプリグループからプロジェクト設定 -> 機能
  2. のようなグループ拡張子を追加しますgroup.yourappid
  3. 次に次のコードを使用します。

    NSString *docPath=[self groupPath];
    
    NSArray *contents=[[NSFileManager defaultManager] contentsOfDirectoryAtPath:docPath error:nil];
    
    NSMutableArray *images=[[NSMutableArray alloc] init];
    
        for(NSString *file in contents){
            if([[file pathExtension] isEqualToString:@"png"]){
                [images addObject:[docPath stringByAppendingPathComponent:file]];
            }
        }
    
    
    -(NSString *)groupPath{
         NSString *appGroupDirectoryPath = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:group.yourappid].path;
    
        return appGroupDirectoryPath;
    }
    

生成する画像拡張子に応じて、パス拡張子を追加または変更できます。

注意 - アプリと拡張機能の両方で使用できるように、ドキュメント フォルダーではなくグループ フォルダーに画像を生成する必要があることに注意してください。

乾杯。

Swift 3 アップデート

let fileManager = FileManager.default
let url = fileManager.containerURL(forSecurityApplicationGroupIdentifier: "YOUR_GROUP_ID")?.appendingPathComponent("logo.png")

// Write to Group Container            
if !fileManager.fileExists(atPath: url.path) {

    let image = UIImage(named: "name")
    let imageData = UIImagePNGRepresentation(image!)
    fileManager.createFile(atPath: url.path as String, contents: imageData, attributes: nil)
}

// Read from Group Container - (PushNotification attachment example)              
// Add the attachment from group directory to the notification content                    
if let attachment = try? UNNotificationAttachment(identifier: "", url: url!) {

    bestAttemptContent.attachments = [attachment]

    // Serve the notification content
    self.contentHandler!(self.bestAttemptContent!)
}

おすすめ記事