为了账号安全,请及时绑定邮箱和手机立即绑定

使用应用程序组在应用程序之间传递和保存数据

使用应用程序组在应用程序之间传递和保存数据

梦里花落0921 2019-07-26 15:17:53
使用应用程序组在应用程序之间传递和保存数据iOS 8昨天发布了一个关于App Groups的新API。在分享数据和在应用程序之间进行通信之前,它有点混乱,我相信这正是App Groups要纠正的内容。在我的应用程序中,我启用了应用程序组并添加了一个新组,但我找不到任何有关如何使用它的文档。文档和API参考仅说明如何添加组。那么App Group真正打算做什么呢?有没有关于如何使用它的文件?
查看完整描述

3 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

App Groups的另一个好处是共享NSUserDefaults数据库的能力。这也适用于App Extensions(通知中心小部件,自定义键盘等)。

NSUserDefaults在应用程序组的所有应用程序中初始化您的对象,他们将共享数据库:

Objective-C的:

[[NSUserDefaults alloc] initWithSuiteName:@"<group identifier>"];

迅速:

NSUserDefaults(suiteName: "<group identifier>")

请记住[NSUserDefaults standardUserDefaults],每个应用程序的数据库中的所有内容都不会延续到此数据库中。

文档给出了正确的示例以及(作为β3的)。

并且不要忘记同步数据库:

[yourDefaults synchronize];


查看完整回答
反对 回复 2019-07-26
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

在多个应用程序之间共享NSUserDefaults数据

要在应用和分机之间或2个应用之间共享默认值,您必须使用以下步骤在设置中添加应用组:

  1. 在Project Navigator中,单击* .xcodeproj文件(应位于顶部)。

  2. 在Project Navigator的右侧查找Project和Targets。在目标下点击您的主要目标(应该是目标下的第一件事)。

  3. 在顶部,单击“功能”选项卡。

  4. 在“应用程序组”部分中,单击右侧的开关以打开“应用程序组”。

  5. 单击+按钮,然后添加名为group.com.company.myApp的应用程序组。

  6. 转到其他应用中的相同位置,此组现在可供选择。为将要使用此共享数据的每个应用启用此组。

注意:如果您访问Apple Developer Portal(显示所有证书,标识符,设备和配置文件的Apple网站)并转到标识符>应用程序组,您应该会看到这个新的应用程序组。

存储数据:

var userDefaults = NSUserDefaults(suiteName: "group.com.company.myApp")!userDefaults.setObject("user12345", forKey: "userId")userDefaults.synchronize()

要检索数据:

var userDefaults = NSUserDefaults(suiteName: "group.com.company.myApp")if let testUserId = userDefaults?.objectForKey("userId") as? String {
  print("User Id: \(testUserId)")}


查看完整回答
反对 回复 2019-07-26
  • 3 回答
  • 0 关注
  • 615 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信