1

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

但是,它只显示该文件的默认图像,而不是我提供的 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 为 22x29 像素,并且有一个名为 docIcon@2x.png 的 44x58 像素的视网膜兄弟,但在任何地方都没有引用。我认为这可能是错误,但我不知道如何解决。

4

1 回答 1

1

在 Xcode 5 中,选择您的“目标”,转到“信息”选项卡,查看“文档类型”:您是否在此处设置了您的图标?现在,检查是否在导出/导入的 UTI 中设置了标识符 = 您在“文档类型”中输入的类型。

特别检查:

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

编辑:(已删除)

编辑 2:

基于苹果文档here

你应该设置 Exported UTIs :

标识符 = com.mycomp.document.kmk

符合 = public.data

其他导出的 UTI 属性

UTTypeTagSpecification(字典)

  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 已解决该问题。

跳这可以帮助别人。

于 2014-03-09T08:48:13.397 回答