app扩展如何访问包含app Documents /文件夹的文件

时间:2016-08-01 06:00:07

标签: ios filesystems ios-app-extension

在app扩展程序中是否有办法从包含应用程序生成图像,该应用程序存储在/ var / mobile / Containers / Data / Application // Documents //文件夹中?

1 个答案:

答案 0 :(得分:14)

为了使文件可用于应用扩展程序,您必须使用bootstrap(),因为App Extension无法访问应用的文档文件夹,因为您已按照这些步骤操作,

  1. 项目设置 - >启用应用程序组功能即可。
  2. 添加类似Group Path的群组扩展程序。
  3. 然后使用以下代码。

    group.yourappid
  4. 您可以根据要生成的图片扩展名添加或更改路径扩展名。

    注意 - 请记住,您需要在组文件夹中而不是在文档文件夹中生成图像,因此它既可用于应用和扩展程序。

    干杯。

    Swift 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;
    }