打开...用于自定义文件类型适用于iOS 5,6& 7但不是iOS 4

时间:2013-09-26 20:06:13

标签: iphone ios info.plist uti

我有一个应用程序,它声明了一个自定义文件类型(这只是一些XML),当iOS在iOS 5上遇到这个文件时,6& 7,它知道如何处理它 - 我的应用程序启动,文件导入就好了。

然而,在iOS 4.3.3上,自定义文件类型似乎被认为是纯文本 - 电子邮件客户端显示它本身并且不提供在我的应用程序中打开文件的选项。

以下是我的应用的Info.plist的相应部分:

    <key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string>iBlueSky Format</string>
        <key>LSHandlerRank</key>
        <string>Owner</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>uk.co.tenero.ibluesky</string>
        </array>
    </dict>
</array>

<key>UTExportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeConformsTo</key>
        <array>
            <string>public.data</string>
        </array>
        <key>UTTypeDescription</key>
        <string>iBlueSky File</string>
        <key>UTTypeIdentifier</key>
        <string>uk.co.tenero.ibluesky</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <array>
                <string>bsky</string>
            </array>
            <key>public.mime-type</key>
            <string>application/xml</string>
        </dict>
    </dict>
</array>

有人能发现我做错了吗?

在iOS 3.2中支持操作这样的文件,所以它应该工作。

我打算放弃对iOS 4,5&amp;的支持。 6在下一个主要更新中,但我想在旧设备上向用户提供此功能的另一个版本。

1 个答案:

答案 0 :(得分:0)

发现问题。我需要将应用程序定义为所有者文件类型的编辑器。在iOS的更高版本中,它似乎定义了您的应用,因为所有者足以暗示编辑角色:

<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>