为什么应用程序包不总是包?

时间:2019-01-08 01:23:44

标签: ios swift uikit uidocument

我有一个快速的应用程序,它是作为包的文档类型的查看器。该应用程序会为此类型导出UTI(​​我希望将其导入,但是存在相同的问题)。如果文档存储在iCloud中,则该应用程序可以打开一个包,但是如果文档存储在Dropbox,oneDrive或Google云端硬盘中,则该应用程序无法打开。

在文档类型和导出的UTI声明中是否有任何遗漏的跳出原因?

文档类型为:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeIconFiles</key>
        <array/>
        <key>CFBundleTypeName</key>
        <string>JMRI Configuration Profile</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>LSHandlerRank</key>
        <string>Alternate</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>org.jmri.profile</string>
        </array>
        <key>LSTypeIsPackage</key>
        <true/>
    </dict>
</array>

导出的UTI为:

<key>UTExportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeConformsTo</key>
        <array>
            <string>com.apple.package</string>
            <string>public.composite-content</string>
        </array>
        <key>UTTypeDescription</key>
        <string>JMRI Configuration Profile</string>
        <key>UTTypeIconFiles</key>
        <array>
            <string></string>
        </array>
        <key>UTTypeIdentifier</key>
        <string>org.jmri.profile</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <array>
                <string>JMRI</string>
                <string>jmri</string>
            </array>
        </dict>
    </dict>
</array>

1 个答案:

答案 0 :(得分:0)

我遇到的问题是底层应用程序(Dropbox,Google Drive和oneDrive)如何实现对FileProvider API的支持。

自从我最初问这个问题以来,Dropbox已添加了对软件包的支持,微软表示不支持软件包,而且我还没有发现(或弄清楚如何询问)Google是否会支持软件包。