我有一个主机应用程序从Core Data获取信息。现在我需要一个共享扩展,它将显示来自主机应用程序数据的一些信息。
我已启用应用群组并已为主机和分机定义,我可以从我的分机访问此路径。
NSURL *storeURL = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"com.application"];
当我获取目录和文件时,它只有一个/ Library路径。
NSArray * files = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:url error:nil];
[files enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSLog(@"fileName : %@",(NSString *)obj);
}];
我的主机应用程序的sqlite文件位于Documents目录下。如何在共享容器下使这个sqlite文件可用?我需要移动整个数据库吗?任何其他解决方案。
由于
答案 0 :(得分:3)
如果要直接从db文件访问数据,则必须将其放入共享容器中。我不认为还有其他选择,你不能为主机应用程序创建slink或任何东西。
我正在解决类似的问题,我决定使用组NSUserDefaults来共享我在共享扩展中所需的内容 - 因为它只是几个变量。这可能是一个简单的解决方案