[英]Sharing a Core Data stack and data between App and Extension in iOS8
[英]Sharing Data Between iOS App and Todays Extension
我有一个使用设备数据库的iOS应用。 我想从我的App Extension访问数据库。 数据库访问需要一个路径,我将其插入到NSUserDefaults中,如下所示。 我首先运行App Target,它将触发以下代码。
NSUserDefaults *userDefaults = [[NSUserDefaults alloc] init];
[userDefaults setValue:databasePathFromApp forKey:@"DatabasePath"];
[userDefaults synchronize];
然后,我运行“今日扩展”,该扩展访问由主应用程序设置的NSUserDefaults。
NSUserDefaults *userDefaults = [[NSUserDefaults alloc] init];
_databasePath = [userDefaults valueForKey:@"DatabasePath"];
_databasePath始终为nil。 我究竟做错了什么? 我是否必须使用应用程序组在应用程序和当前扩展之间共享数据库。
您应该使用如下所示的NSUserDefaults,并确保必须在临时配置文件中启用了应用程序组,并且应用程序组必须配置为绿色符号,并且应将其添加到临时配置文件和BundleID中。
NSUserDefaults * sharedUserDefault = [[NSUserDefaults alloc] initWithSuiteName:@“ group.yougroup”]; [sharedUserDefault setObject:Object forKey:@“ yourkey”]; [sharedUserDefault同步];
NSUserDefaults * sharedUserDefault = [[NSUserDefaults alloc] initWithSuiteName:@“ group.yougroup”]; sharedUserDefault value = [sharedUserDefault valueForKey:@“您的关键字”];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.