我尝试为Ensembles
我们已经工作和同步的 iOS 应用程序的 Cocoa 应用程序实现 iCloud 同步。因为我在那个 Cocoa 应用程序中遇到了问题,所以我想尝试使用 Ensembles 示例应用程序。
所以我尝试让 OSX 的惯用应用程序通过 iCloud 同步。但我总是遇到同样的错误,我没有登录 iCloud,因为
[fileManager URLForUbiquityContainerIdentifier:ubiquityContainerIdentifier]
总是为我回来nil
。
我在我的 Macbook 上登录 iCloud 并同步,例如 DayOne 在 iPhone 和 Macbook 之间运行良好。因此,未登录可能不是问题。问题是,为什么FileManager
不返回标识符?
我已经为此烦恼了三天,它已经工作了一段时间并且因为“我不知道”而坏了。我~/Library
从 TimeMachine 恢复了我的文件夹,然后它又工作了一段时间,但又坏了。然后我创建了一个新的操作系统用户并为 iCloud 使用了另一个 Apple-ID,它工作了一段时间后又坏了。
我真的有点困惑,不确定它是否与签名、沙盒、供应......或其他什么有关。
那么,我做了什么?
我打开了Ensembles 1.4 Idiomatic
项目,在Target-General
-Tab 上我更改了BundleIdentifier
,启用MacAppStore Signing
并选择了我们的DevTeam
.
在Capabilities
-Tab 我启用AppSandbox
和iCloud Capabilities
,指定自定义容器并选择新创建的 iCloud 容器,
在BuildSettings
-Tab 上,我为我们的 BundleID 选择了Mac Developer
CodeSigningIdentity 和MacTeamProvisioningProfile
。(我只会发布截图,但没有足够的声望点。)
此外,禁用沙盒功能也无济于事。
有没有人知道或知道我错过了什么?~/Library
必须删除其中的任何“魔术”文件夹吗?登录和退出 iCloud?删除 iCloud 服务器上的容器?还是我必须重新开始App-Id-Certificate
--ProvisioningProfile
麻烦,才能解决这个问题?
会不会是我的 iCloud 帐户已损坏?
任何帮助表示赞赏,在此先感谢您。