为什么我的iCloud Drive AppFolder在MacOS上可见,但在iOS上的iCloud Drive App中被禁用?

时间:2015-10-14 08:34:43

标签: ios objective-c icloud uti icloud-drive

我为我的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发布一个新版本,看看它是否与高效的应用程序和开发中的应用程序有关。

欢迎任何提示和提示。

2 个答案:

答案 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文件夹完全运行之前获得批准和发布。