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

Why is the application package not always a package?

我有一个 swift 应用程序,它是一个文档类型的查看器,它是一个包。该应用程序导出此类型的 UTI(我更愿意导入它,但存在同样的问题)。如果文档存储在 iCloud 中,应用程序可以打开包,但如果文档存储在 Dropbox、oneDrive 或 Google Drive 中则不能。

是否有任何在文档类型和导出的 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>

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

自从我最初问这个问题后,Dropbox 已经添加了对包的支持,Microsoft 表示不支持包,我还没有找到(或想出如何询问)Google 是否会支持包.