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

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

iOS 8昨天发布了一个关于App Groups的新API。在分享数据和在应用程序之间进行通信之前,它有点混乱,我相信这正是App Groups要纠正的内容。

在我的应用程序中,我启用了应用程序组并添加了一个新组,但我找不到任何有关如何使用它的文档。文档和API参考仅说明如何添加组。

那么App Group真正打算做什么呢?有没有关于如何使用它的文件?


梦里花落0921
浏览 620回答 3
3回答

肥皂起泡泡

App Groups的另一个好处是共享NSUserDefaults数据库的能力。这也适用于App Extensions(通知中心小部件,自定义键盘等)。NSUserDefaults在应用程序组的所有应用程序中初始化您的对象,他们将共享数据库:Objective-C的:[[NSUserDefaults&nbsp;alloc]&nbsp;initWithSuiteName:@"<group&nbsp;identifier>"];迅速:NSUserDefaults(suiteName:&nbsp;"<group&nbsp;identifier>")请记住[NSUserDefaults standardUserDefaults],每个应用程序的数据库中的所有内容都不会延续到此数据库中。该文档给出了正确的示例以及(作为β3的)。并且不要忘记同步数据库:[yourDefaults&nbsp;synchronize];

沧海一幻觉

在多个应用程序之间共享NSUserDefaults数据要在应用和分机之间或2个应用之间共享默认值,您必须使用以下步骤在设置中添加应用组:在Project Navigator中,单击* .xcodeproj文件(应位于顶部)。在Project Navigator的右侧查找Project和Targets。在目标下点击您的主要目标(应该是目标下的第一件事)。在顶部,单击“功能”选项卡。在“应用程序组”部分中,单击右侧的开关以打开“应用程序组”。单击+按钮,然后添加名为group.com.company.myApp的应用程序组。转到其他应用中的相同位置,此组现在可供选择。为将要使用此共享数据的每个应用启用此组。注意:如果您访问Apple Developer Portal(显示所有证书,标识符,设备和配置文件的Apple网站)并转到标识符>应用程序组,您应该会看到这个新的应用程序组。存储数据:var&nbsp;userDefaults&nbsp;=&nbsp;NSUserDefaults(suiteName:&nbsp;"group.com.company.myApp")!userDefaults.setObject("user12345",&nbsp;forKey:&nbsp;"userId")userDefaults.synchronize()要检索数据:var&nbsp;userDefaults&nbsp;=&nbsp;NSUserDefaults(suiteName:&nbsp;"group.com.company.myApp")if&nbsp;let&nbsp;testUserId&nbsp;=&nbsp;userDefaults?.objectForKey("userId")&nbsp;as?&nbsp;String&nbsp;{ &nbsp;&nbsp;print("User&nbsp;Id:&nbsp;\(testUserId)")}
打开App,查看更多内容
随时随地看视频慕课网APP