让 Ensembles Idiomatic OSX 应用程序与 iCloud 同步

Getting Ensembles Idiomatic OSX App to sync with iCloud

我尝试为我们已经工作和同步的 iOS 应用程序的 Cocoa 应用程序实施 Ensembles iCloud 同步。因为我在那个 Cocoa 应用程序中遇到问题,所以我想试试 Ensembles 示例应用程序。

所以我尝试让 OSX 的 Idiomatic App 通过 iCloud 同步。 但我总是遇到同样的错误,我没有登录 iCloud,因为

[fileManager URLForUbiquityContainerIdentifier:ubiquityContainerIdentifier]

对我来说总是 returns nil

我在我的 Macbook 上登录了 iCloud,并且同步例如 DayOne 在 iPhone 和 Macbook 之间工作正常。因此,未登录不是问题所在。问题是,为什么 FileManager 不 return 标识符?

我为此纠结了三天,它已经工作了一段时间,但因为“我不知道”而坏掉了。 我从 TimeMachine 恢复了我的 ~/Library 文件夹,然后它再次工作了一段时间,但也再次崩溃。 然后我创建了一个新的 OS 用户并为 iCloud 使用了另一个 Apple-ID,它工作了一段时间又坏了。

我真的有点困惑,我不确定它是否与签名、沙盒、供应......或其他任何事情有关。

那么,我做了什么?

我打开了Ensembles 1.4 Idiomatic项目, 在 Target-General-选项卡上,我更改了 BundleIdentifier,我启用了 MacAppStore Signing 并选择了我们的 DevTeam

Capabilities-选项卡上我启用了 AppSandboxiCloud Capabilities, 指定自定义容器并选择新创建的 iCloud 容器,

BuildSettings-Tab 上,我为我们的 BundleID 选择了 Mac Developer CodeSigningIdentity 和 MacTeamProvisioningProfile。 (我只想 post 屏幕截图,但没有足够的声誉点数。)

此外,禁用沙盒功能也无济于事。

有没有人知道或知道我缺少什么? ~/Library 中的任何 'magic' 个文件夹必须删除?登录和退出 iCloud?删除 iCloud 服务器上的容器? 还是我必须重新开始 App-Id-Certificate-ProvisioningProfile-麻烦,才能解决这个问题?

难道我的 iCloud 帐户已损坏?

感谢任何帮助,提前致谢。

好吧,很长一段时间以来,我的 Mac 上都没有再出现该错误,我想分享一下,我还没有发现,是什么导致了这个 iCloud 同步错误,但它确实有效现在几个星期了,在我再次恢复我的 ~/Library 文件夹之后。

所以,我对解决我的这个错误的最佳猜测是:做时间Machine 备份并且不要在没有这样的备份的情况下手动删除 ~/Library 下的东西!!!