【问题标题】:Sharing Data Between iOS App and Todays Extension在 iOS App 和 Todays Extension 之间共享数据
【发布时间】:2015-04-24 20:20:15
【问题描述】:

我有一个使用设备上数据库的 iOS 应用程序。我想从我的 App Extension 访问数据库。数据库访问需要我插入到 NSUserDefaults 中的路径,如下所示。我首先运行触发以下代码的 App Target。

 NSUserDefaults *userDefaults = [[NSUserDefaults alloc] init];
    [userDefaults setValue:databasePathFromApp forKey:@"DatabasePath"];
    [userDefaults synchronize];

然后我运行 Todays 扩展程序,它访问由主应用程序设置的 NSUserDefaults。

 NSUserDefaults *userDefaults = [[NSUserDefaults alloc] init];

    _databasePath = [userDefaults valueForKey:@"DatabasePath"];

_databasePath 始终为零。我究竟做错了什么?我是否必须使用 App Groups 在应用程序和今天的扩展程序之间共享数据库。

【问题讨论】:

标签: ios


【解决方案1】:

您应该像下面这样使用 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:@"yourkey"];

【讨论】:

  • 请不要对多个问题发布相同的答案。发布一个好的答案,然后投票/标记以关闭其他问题作为重复问题。如果问题不是重复的,调整您对该问题的回答
猜你喜欢
  • 2015-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多