3."CallExtension"与宿主程序之间的数据共享

"callExtension"虽然作为一个拓展程序,但是他与宿主程序拥有两个不同的沙盒路径,所以数据无法共享!但是iOS 8.0 以后,苹果提供了一个叫做Appgroups的数据共享操作.

开启AppGroups

3.
Paste_Image.png
  • PS:拓展程序(CallExtension)与宿主程序(callText)必须选择同一个"AppGroups"
    使用AppGroups需要去苹果开发者网站上配置"pofile"文件.具体操作可以参照以下链接
    http://blog.csdn.net/songchunmin_/article/details/51316806

AppGroups数据读写

  • 读取数据:
//获取文件路径
    NSURL *fileUrl = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"AppGroups名称"];
    NSString *filePath = [fileUrl.absoluteString substringFromIndex:(@"file://".length)];
    NSString *filePathIdentification = [filePath stringByAppendingString:@"存储的文件名称"];
//读取数据
    NSArray *txlArr = [NSArray arrayWithContentsOfFile:filePathIdentification];
  • 存入数据
//获取文件路径
    NSURL *fileUrl = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"AppGroups名称"];
    NSString *filePath = [fileUrl.absoluteString substringFromIndex:(@"file://".length)];
    NSString *filePathIdentification = [filePath stringByAppendingString:@"存储的文件名称"];
//存入数据
    NSArray *callArr = [NSArray new];
    BOOL success = [callArr writeToFile:filePathIdentification atomically:YES];
  • PS:�AppGroups存储数据是一次最好不要超过20条,否则会存储失败.

你可能感兴趣的:(3."CallExtension"与宿主程序之间的数据共享)