Icloud在具有不同app标识符的2 app之间同步

时间:2012-03-22 10:03:23

标签: iphone core-data ios5 icloud

我有一个应用程序,它具有不同的iphone和ipad应用程序标识符,我想使用icloud同步它们,是否可以在icloud中为同一个容器使用不同的应用程序标识符。

1 个答案:

答案 0 :(得分:4)

是的,可以使用iCloud在不同的应用程序之间同步数据(不同的应用程序总是有不同的应用程序ID,不是吗?)。使用应用程序的权利来指定他们应该访问哪些容器。然后使用通用容器来存储和同步文件。

根据Dinesh Kaushik的要求于2013年10月30日更新:

  • 在Xcode中打开项目并在ProjectNavigator中选择项目
  • 转到项目的“功能”点击(Xcode 5),找到iCloud部分(应该在右上方)
  • 在这里,您可以指定应用应该有权访问的所有Ubiquity容器。
  • 要在应用之间共享数据,他们需要共享一个普通的Ubiquity容器。因此,添加至少一个使用的Ubiquity容器 所有参与的应用。只有一个无处不在的最简单的方法 容器(当然每个应用程序都相同)
  • 当“连接”到iCloud时,您可以使用以下代码获取Ubiquity网址:

    NSURL * cloudURL = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];

  • 使用nil作为标识符将返回默认Ubiquity容器的URL。使用具体ID获取另一个Ubiquity容器的URL。

Ubiquity Container基本上只是您设备上的一个文件夹。 iCloud服务将观察此文件夹并将所有更改传输到其他设备上的同一文件夹。

根据我的经验,有一条关于iCloud的黄金法则:

不要使用它!

我很认真。 iCloud不稳定且不可靠。您的应用可能会不时崩溃,您永远不会找到问题的具体来源。用户会问为什么同步不时会起作用,并且会因为性能不佳而责怪您和您的应用。

对于简单的KeyValueStore,iCloud可能没问题,但其他任何事情都是一团糟。不要浪费你的时间。请改用Dropbox等其他云服务。