将文件类型与我的iOS应用程序相关联:无文件图像

时间:2014-03-09 08:23:08

标签: ios iphone file-import

我将自定义文件类型与我的iphone-app相关联,一切正常:在邮件中选择文件时,它要求我用我的应用程序打开该文件。

但是,它只显示该文件的默认图像,而不是我提供的22x29px PNG。

你能看出我的错误吗?

<key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeIconFile</key>
            <string>DocIcon.png</string>
            <key>CFBundleTypeName</key>
            <string>kmk custom data type</string>
            <key>LSHandlerRank</key>
            <string>Owner</string>
            <key>LSItemContentTypes</key>
            <array>
                <string>com.mycomp.document.kmk</string>
            </array>
        </dict>
    </array>
...
    <array>
        <dict>
            <key>UTTypeConformsTo</key>
            <array>
                <string>public.text</string>
            </array>
            <key>UTTypeDescription</key>
            <string>My App File</string>
            <key>UTTypeIdentifier</key>
            <string>com.mycomp.document.kmk</string>
            <key>UTTypeTagSpecification</key>
            <dict>
                <key>public.filename-extension</key>
                <string>kmk</string>
            </dict>
        </dict>
    </array>

docIcon.png是22x29px,并且在44x58px中有一个名为docIcon@2x.png的视网膜兄弟,但那里没有引用。我认为这可能是错误,但我不知道如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

在Xcode 5中,选择你的&#34; TARGET&#34;,转到标签&#34; INFO&#34;,查看&#34;文档类型&#34; :你在这里设置了你的图标吗?现在,检查是否在导出/导入的UTI中设置标识符=您输入的类型&#34;文档类型&#34;。

特别检查:

com.mycomp.document。 kmk != com.mycomp.document。 kpk

编辑:(删除)

编辑2:

基于apple doc here

您应该设置导出的UTI:

  

identifier = com.mycomp.document.kmk

     

符合= public.data

     

其他导出的UTI属性

     

UTTypeTagSpecification(Dictionary)

  public.mime-type = Application/XXX    (replace XXX vita your app name)
  public.filename-extension = kmk       (extension without the dot)

您在UTExportedTypeDeclarations的info.plist中找到了

<key>UTExportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeConformsTo</key>
        <array>
            <string>public.data</string>
        </array>
        <key>UTTypeDescription</key>
        <string>YOUR DESCRIPTION</string>             (to be changed)
        <key>UTTypeIdentifier</key>
        <string>com.mycomp.document.kmk</string>
        <key>UTTypeSize320IconFile</key>
        <string>Icon@2x</string>
        <key>UTTypeSize64IconFile</key>
        <string>Icon</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <string>kmk</string>
            <key>public.mime-type</key>
            <string>Application/YOUR-APP-NAME</string>  (to be changed)
        </dict>
    </dict>
</array>

编辑3:

netshark1000报告了Application / YOUR-APP-NAME已解决问题。

跳这可以帮助别人。