我尝试为我们已经正在运行和同步iOS应用的Cocoa应用实现Ensembles
iCloud同步。因为我在Cocoa应用程序中遇到问题,我想尝试使用Ensembles示例应用程序。
所以我尝试通过iCloud让OSX的惯用应用程序同步。 但我总是得到同样的错误,我没有登录到iCloud,因为
[fileManager URLForUbiquityContainerIdentifier:ubiquityContainerIdentifier]
总是为我返回nil
。
我在Macbook上登录iCloud并同步,例如DayOne在iPhone和Macbook之间正常工作。因此,不登录可能不是问题。问题是,为什么FileManager
没有返回标识符?
我现在为此烦恼了三天,它已经工作了一段时间并因为“我不知道”而破产了。
我从TimeMachine恢复了我的~/Library
文件夹,然后它再次工作了一段时间,但也又破了。
然后我创建了一个新的操作系统用户,并为iCloud使用了另一个Apple-ID,它工作了一段时间并再次破产。
我真的有点困惑,我不确定,如果它有事可做,有签名,沙盒,配置......或其他。
那么,我做了什么?
我打开了Ensembles 1.4 Idiomatic
项目,
在Target-General
- 标签上,我更改了BundleIdentifier
,我启用了MacAppStore Signing
,我选择了DevTeam
。
在Capabilities
- 标签上,我启用了AppSandbox
和iCloud Capabilities
,
指定自定义容器并选择新创建的iCloud容器
在BuildSettings
- 标签上,我为BundleID选择了Mac Developer
CodeSigningIdentity和MacTeamProvisioningProfile
。
(我只是发布截图,但没有足够的声誉点。)
此外,禁用沙盒功能也无济于事。
有没有人知道或知道我缺少什么?
任何魔法' ~/Library
中必须删除的文件夹?登录和退出iCloud?删除iCloud服务器上的容器?
或者我是否必须全新开始App-Id-Certificate
- ProvisioningProfile
- 麻烦,或许可以解决这个问题?
可能是,我的iCloud帐户已损坏?
任何帮助表示感谢,提前感谢。
答案 0 :(得分:0)
好的,很长一段时间以来,我没有在我的Mac上再次出现这个错误,想要分享,我还没有发现,是什么导致了这个iCloud同步错误,但它现在已经工作了几周,我再次恢复〜/ Library文件夹后。
所以,我最好的猜测是解决我的错误:做TimeMachine备份,不要在没有这样的备份的情况下手动删除〜/ Library下的东西!!!