我正在尝试将iCloud驱动器功能添加到我现有的iPhone应用程序中,基本上只是为了能够将文件存储在iCloud驱动程序中,这样用户就可以在所有设备上访问这些文件。
我已经按照步骤启用iCloud驱动器功能:
- 在";签名和功能";在项目目标的XCode中,以及iCloud容器
- 将
NSUbiquitousContainers
密钥添加到Info.plist
- 该应用程序确保泛在容器中的
Documents
文件夹存在 - 该应用程序在启动时将一个测试文件写入
Documents
文件夹 - 将内部版本逐步提升到更高的数字
到目前为止,它在iPhone上本地工作:应用程序文件夹在同一部手机的Files
应用程序中可见,测试文件也在那里可见。
但该应用程序文件夹在iCloud.com上不可见,在我的MacBook的Finder中也不可见。我可以在两个平台的iCloud Drive中看到内容相同的Downloads
文件夹,因此我确信我使用与iPhone上相同的AppleID登录。
我还需要做什么才能使应用程序文件夹在iCloud中可见?如果这是一个问题,因为应用程序更新尚未发布,我如何在发布之前测试功能?
我看过其他遇到同样问题的问题,比如这个和这个,但我认为我已经完成了这些答案中建议的所有步骤(实际的步骤,对于现有的应用程序来说,请求新的AppID显然是不可能的(。
苹果的文档非常臃肿,因此很难提炼出你需要遵循的基本步骤。
Info.plist设置(显然MyApp
被我的应用程序名称取代(:
<key>NSUbiquitousContainers</key>
<dict>
<key>iCloud.com.MyApp.MyApp</key>
<dict>
<key>NSUbiquitousContainerIsDocumentScopePublic</key>
<true/>
<key>NSUbiquitousContainerName</key>
<string>MyApp</string>
<key>NSUbiquitousContainerSupportedFolderLevels</key>
<string>Any</string>
</dict>
</dict>
答案似乎是:等待。我没有更改代码中的任何内容,甚至没有再次运行它。一天后,这些文件和文件夹出现在icloud.com和我的MacBook上。
奇怪的是,它花了这么长时间。