繁体   English   中英

在iOS App和Todays Extension之间共享数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM