我为我的iOS应用程序开发了iCloud Drive Export功能,但它确实有效。 我可以在Mac OS X 10.11上的iCloud Drive文件夹中的公共AppContainerFolder中看到导出的文档。
但在iOS上,我只能在iCloud Drive应用中看到AppContainerFolder。它被禁用,我无法打开该文件夹,或查看其中的文档。
Image of the disable folder in the iOS iCloud Drive App
从iCloud Drive设置中,我可以看到我导出的文件位于iCloud Drive中的AppContainerFolder中。
Image of the AppContainerFolder inside the iCloud settings
有没有人对iCloud Drive有这样的问题?
我在我的应用中使用了两个应用容器,一个使用了" iCloud.com ..."导出的标识符和另一个使用" TeamIdentifier.com ..." Ensembles-CoreData同步的标识符。 我使用以下方法明确使用容器的URL:
[[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:@"iCloud.com..."]
我已经尝试过只使用TeamIdentifier-Container,但AppContainerFolder的可见性没有变化。
我试图碰到BundleVersion,我玩了Info.plist NSUbiquitousContainers设置。我还通过TestFlight向外部测试人员提供Build,以查看它是否与开发设备有关。
我还没有做过唯一的事情,用新的BundleVersion向AppStore发布一个新版本,看看它是否与高效的应用程序和开发中的应用程序有关。
欢迎任何提示和提示。
答案 0 :(得分:6)
在与Apple开发者技术支持部门澄清后,我现在能够解决问题。
我的应用程序声明了两个导出的UTI(自己的备份文件),因此当除了这些UTI之外的其他文件保存到该应用程序时,iCloud容器将默认为不启用(或显示为灰色)夹。 我们的应用程序可以创建PDF和CSV,但这些文件类型未被声明为'文档类型'在info.plist中,因为我们的应用无法显示它们。
将PDF和CSV文档类型添加到info.plist时,iCloud容器会立即显示在iCloud Drive应用程序中。
供您参考,以下是info.plist的摘录:
...
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string>Adobe PDF</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Alternative</string>
<key>LSItemContentTypes</key>
<array>
<string>com.adobe.pdf</string>
</array>
</dict>
<dict>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string>CSV</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Alternative</string>
<key>LSItemContentTypes</key>
<array>
<string>public.comma-separated-values-text</string>
</array>
</dict>
</array>
...
答案 1 :(得分:0)
帖子Why my app is not shown in iCloud Drive Folder似乎表明您的应用需要在公共iCloud文件夹完全运行之前获得批准和发布。