我有这两个应用程序,一个iOS和一个Mac OS X,每个都有不同的Bundle ID。
为了让两个应用程序同步和共享文件,我必须将iOS应用程序的普遍容器添加到Mac OS X应用程序中的普遍容器列表中。
在Mac OS X应用程序的Xcode摘要中,我无法将自己的Bundle ID添加为无处不在的容器。 Mac OS X应用程序将以自己的普遍性存储新添加的文件,因此iOS应用程序无法访问它们。
如何正确设置这两个应用,以便他们使用相同的普遍容器共享和同步所有添加的文件?
答案 0 :(得分:1)
对于我自己的iOS / Mac应用程序对,我刚刚使用BundleID com.alexanderwinn.Example
和带有com.alexanderwinn.ExampleMac
的Mac应用程序获得了我的iOS应用程序,但它们都共享了无处不在的容器com.alexanderwinn.Example
。他们中的任何一个,甚至Mac版本,都没有基于Mac BundleID的普遍容器。我是初学者,所以我不能完全详细说明一切工作和休息背后的原因,但它对我来说工作正常!
答案 1 :(得分:1)
要允许多个应用访问同一个数据存储/普遍存储容器,您需要做一些事情。首先,您需要打开Xcode项目并按照这些说明进行操作(官方Apple document here):
要在所有使用相同iCloud容器的应用中开始使用iCloud,您需要使用您的团队ID和容器ID创建网址。 Apple很好地总结了这一点:
要检索普遍容器的URL,必须将完全限定的字符串传递给NSFileManager方法URLForUbiquityContainerIdentifier:。也就是说,您必须传递完整的容器标识符字符串,其中包含您在.entitlements属性列表文件中看到的团队ID。您可以将nil传递给此方法以检索列表中第一个容器的URL。
然后,在iTunes Connect中设置一个名为iCloud Display Set的内容。这允许您创建一个显示集ID,然后可以在您的应用之间共享,以便他们可以访问相同的数据。以下是一些有用的链接,可以帮助您入门:
以下是如何设置iCloud显示集:
Create New
添加展示广告集然后将其附加到您的应用中!希望这有帮助,祝你好运。