"callExtension"虽然作为一个拓展程序,但是他与宿主程序拥有两个不同的沙盒路径,所以数据无法共享!但是iOS 8.0 以后,苹果提供了一个叫做Appgroups的数据共享操作.
开启AppGroups
- 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条,否则会存储失败.