[英]Sharing Data Between iOS App and Todays Extension
I have an iOS app which uses on-device database. 我有一个使用设备数据库的iOS应用。 I want to access the database from my App Extension.
我想从我的App Extension访问数据库。 The database access requires a path which I insert into the NSUserDefaults as shown below.
数据库访问需要一个路径,我将其插入到NSUserDefaults中,如下所示。 I first run the App Target which triggers the following code.
我首先运行App Target,它将触发以下代码。
NSUserDefaults *userDefaults = [[NSUserDefaults alloc] init];
[userDefaults setValue:databasePathFromApp forKey:@"DatabasePath"];
[userDefaults synchronize];
Then I run the Todays Extension which accesses the NSUserDefaults set by the Main App. 然后,我运行“今日扩展”,该扩展访问由主应用程序设置的NSUserDefaults。
NSUserDefaults *userDefaults = [[NSUserDefaults alloc] init];
_databasePath = [userDefaults valueForKey:@"DatabasePath"];
The _databasePath is always nil. _databasePath始终为nil。 What am I doing wrong?
我究竟做错了什么? Do I have to use App Groups to share database between the app and the todays extension.
我是否必须使用应用程序组在应用程序和当前扩展之间共享数据库。
You should use NSUserDefaults like this following and make sure you must have enabled app group in your provisional profile and app group must configure as a green symbol and it should add to your provisional profile & BundleID. 您应该使用如下所示的NSUserDefaults,并确保必须在临时配置文件中启用了应用程序组,并且应用程序组必须配置为绿色符号,并且应将其添加到临时配置文件和BundleID中。
NSUserDefaults *sharedUserDefault = [[NSUserDefaults alloc] initWithSuiteName:@"group.yougroup"]; NSUserDefaults * sharedUserDefault = [[NSUserDefaults alloc] initWithSuiteName:@“ group.yougroup”]; [sharedUserDefault setObject:object forKey:@"yourkey"];
[sharedUserDefault setObject:Object forKey:@“ yourkey”]; [sharedUserDefault synchronize];
[sharedUserDefault同步];
NSUserDefaults *sharedUserDefault = [[NSUserDefaults alloc] initWithSuiteName:@"group.yougroup"]; NSUserDefaults * sharedUserDefault = [[NSUserDefaults alloc] initWithSuiteName:@“ group.yougroup”]; sharedUserDefault value = [sharedUserDefault valueForKey:@"yourkey"];
sharedUserDefault value = [sharedUserDefault valueForKey:@“您的关键字”];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.