自定义文件类型不再显示在IOS邮件应用中

时间:2018-12-29 12:54:47

标签: ios xcode

我在appStore上有一个名为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:

enter image description here

以上所有代码都没有图标(.png),但我认为在现阶段没有什么不同,因为空白图标会显示出来。

对于解决此问题的任何帮助或想法,我将非常感谢。谢谢

1 个答案:

答案 0 :(得分:0)

问题已解决-如果您遇到相同的问题,请按照以下代码进行操作:

 <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>