首页 > 解决方案 > IOS 邮件应用程序中不再显示自定义文件类型

问题描述

我在 appStore 上有一个名为 Quiz Maker 的应用。使用此应用程序,您可以创建一个测验,然后使用 Quiz Maker 应用程序将您的测验通过电子邮件发送给另一个用户。为此,我创建了一个名为 .qzm 的自定义文件类型。这几年来一直运行良好,但现在当您通过电子邮件将 .qzm 文件作为附件发送时,它不会在共享选择窗口(显示消息、电子邮件、添加到笔记、WhatsApp 等图标的窗口)中打开。 ..

我已经尝试了设置与 UTExportedTypeDeclarations 和 UTImportedTypeDeclarations 的每一种组合,但是当用户点击用户邮件客户端中的附件时,我无法获取文件 /icon 来显示?

这是我的设置(为了安全起见,我已将公司名称更改为 com.myBusiness)

<key>UTTypeConformsTo</key>
        <array>
            <string>public.data</string>
        </array>
        <key>UTTypeDescription</key>
        <string>Quiz Maker File</string>
        <key>UTTypeIconFiles</key>
        <array/>
        <key>UTTypeIdentifier</key>
        <string>com.myBusiness.quizMaker.qzm</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <array>
                <string>qzm</string>
            </array>
        </dict>
    </dict>
</array>
<key>UTImportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeConformsTo</key>
        <array>
            <string>public.data</string>
        </array>
        <key>UTTypeDescription</key>
        <string>Quiz Maker File</string>
        <key>UTTypeIconFiles</key>
        <array/>
        <key>UTTypeIdentifier</key>
        <string>com.myBusiness.quizMaker.qzm</string>
    </dict>
</array>
<key>UTTypeTagSpecification</key>
<dict>
    <key>public.filename-extension</key>
    <string>qzm</string>
</dict>



<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeIconFiles</key>
        <array/>
        <key>CFBundleTypeName</key>
        <string>Quiz Maker File</string>
        <key>LSHandlerRank</key>
        <string>Owner</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.myBusiness.quizMaker.qzm</string>
        </array>
    </dict>
</array>

这是我作为 pList 的设置的屏幕截图:

在此处输入图像描述

上述所有代码都没有图标(.pngs),但我认为在这个阶段没有什么不同,因为空白图标会显示。

我真的很感激任何帮助或想法来解决这个问题。谢谢

标签: iosxcode

解决方案


问题已解决 - 如果您遇到同样的问题,请按照下面的代码:

 <key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeIconFiles</key>
        <array>
            <string>inCommand icon114</string>
        </array>
        <key>CFBundleTypeName</key>
        <string>qzm</string>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>LSHandlerRank</key>
        <string>Owner</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.myBusiness.quizMaker.qzm</string>
        </array>
    </dict>
</array>


<key>UTExportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeConformsTo</key>
        <array>
            <string>public.data</string>
        </array>
        <key>UTTypeDescription</key>
        <string>qzm</string>
        <key>UTTypeIdentifier</key>
        <string>com.myBusiness.quizMaker.qzm</string>
        <key>UTTypeSize320IconFile</key>
        <string>inCommand icon114</string>
        <key>UTTypeSize64IconFile</key>
        <string>inCommand icon57</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <string>qzm</string>
            <key>public.mime-type</key>
            <string>application/quizMaker</string>
        </dict>
    </dict>
</array>

推荐阅读