Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS共享扩展-如何访问核心数据_Ios_Objective C_Sqlite_Core Data_Ios App Extension - Fatal编程技术网

iOS共享扩展-如何访问核心数据

iOS共享扩展-如何访问核心数据,ios,objective-c,sqlite,core-data,ios-app-extension,Ios,Objective C,Sqlite,Core Data,Ios App Extension,我有一个从核心数据获取信息的主机应用程序。现在我需要一个共享扩展,它将显示来自主机应用程序数据的一些信息 我已经为主机和扩展启用了应用程序组并定义了,我可以从扩展访问此路径 NSURL *storeURL = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"com.application"]; 当我获取目录和文件时,它只有一个/Library路径 NSArray * fil

我有一个从核心数据获取信息的主机应用程序。现在我需要一个共享扩展,它将显示来自主机应用程序数据的一些信息

我已经为主机和扩展启用了应用程序组并定义了,我可以从扩展访问此路径

 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文件在共享容器下可用?我需要移动整个数据库吗?任何其他解决方案


谢谢

如果要直接从db文件访问数据,必须将其放入共享容器中。我不认为有其他选择,你不能创建slink或任何主机应用程序


我正在解决类似的问题,我决定使用组NSUserDefaults来共享共享扩展中所需的内容,因为它只是一对变量。这可能是一个简单的解决方案

谢谢您的回复。NSUserDefaults对我来说是不够的,我不想复制数据,因为它会随着时间的推移而改变。我有一个由xcdatamodel创建的sqlite,我想我必须将这个文件移动到共享容器中?正确的?