如何使用应用程序组在文档目录中共享数据(如图像)?
如果无法实现,那么在Watch App和iPhone应用程序之间共享图像的最佳方式是什么?我可以将图像二进制数据存储在coredata中,但这不是很有效。我也可以使用NSUserDefaults完成此操作,但这又无效。
答案 0 :(得分:9)
在Xcode中配置应用程序组后(请参阅Sharing Data with Your Containing iOS App部分),您可以获得共享容器/文件夹的路径,如下所示:
NSURL *groupContainerURL = [[NSFileManager defaultManager]
containerURLForSecurityApplicationGroupIdentifier:@"YourAppGroupIdentifier"];
NSString *sharedDirectory = [groupContainerURL path];
然后,将UIImage
(例如)写入该文件夹:
NSData *imageData = UIImagePNGRepresentation(image);
NSString *filePath = [sharedDirectory stringByAppendingPathComponent:@"image.png"];
[imageData writeToFile:filePath atomically:YES];
您可以在Watch扩展程序和iOS应用程序中使用相同的逻辑来共享文件。您也可以创建自己的目录,因为共享容器没有“标准”目录结构。
答案 1 :(得分:0)
与应用程序组共享数据。
在您的iOS应用和您的应用之间轻松共享少量数据 带有App Groups和NSUserDefaults的WatchKit扩展。访问 其他资源(如Core Data存储)使用共享容器 在您的iOS应用程序和WatchKit扩展之间,以简化数据 访问并提供最新信息。