2016-10-21 34 views
0

我有两个应用程序,都在同一个应用程序组...我只是想在他们之间共享一个字符串。应用程序数据共享不起作用

NSUserDefaults * defaultsStore = [[NSUserDefaults alloc] initWithSuiteName:@"group.my.bundle.id"]; 
[defaultsStore setObject:@"TEST" forKey:@"Testing"]; 
[defaultsStore synchronize]; 

在其他应用程序,这也是除了应用程序组我有

NSUserDefaults * defaultsStore = [[NSUserDefaults alloc] initWithSuiteName:@"group.my.bundle.id"]; 
NSString * testingString = [defaultsStore objectForKey:@"Testing"]; 

似乎没有任何工作。我不认为我必须制定扩展目标,因为它们是独立的独立应用程序?

的defaultsStore不为空,但该容器对象总是空..

任何帮助,将不胜感激

回答

0

您的应用程序组没有设置正确,你arenot使用正确的组ID initWithSuiteName:

+0

它与能力部分 – renners

0

为了使用应用组使用的应用程序之间的数据共享必须按照以下步骤做如下设置:

1.在Project Navigator中点击*.xcodeproj文件。

  1. 在项目导航器的右侧查找项目和目标。在目标下点击你的主要目标(应该是目标下的第一件事)。 朝顶部点击Capabilities选项卡。

  2. 在应用程序组部分中,单击右侧的开关以打开应用程序组ON

  3. 点击+按钮,并添加名为group.my.bundle.id的应用组。 转到其他应用程序中的相同位置,现在应该可以选择此组。为将要使用此共享数据的每个应用启用此组。

注:请您在应用程序中之间共享数据相同。

读ansers这里获得更多的帮助:Communicating and persisting data between apps with App Groups

也红了文档浏览:

https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW6

+0

中显示的组ID相同 – renners

0

您必须启用从Targets-> Compabilities App Groupsenter image description here

Here是简单的教程。

+0

已经完成 – renners

相关问题