【问题标题】:Custom file type no longer showing in IOS mail appIOS 邮件应用程序中不再显示自定义文件类型
【发布时间】:2018-12-29 12:54:46
【问题描述】:

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

我已经尝试了设置与 UTExportedTypeDeclarations 和 UTImportedTypeDeclarations 的所有组合,但是当用户点击用户邮件客户端中的附件时,我无法让文件/图标显示??

这是我的设置(为了安全起见,我已将公司名称更改为 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 的屏幕截图:

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

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

【问题讨论】:

    标签: ios xcode


    【解决方案1】:

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

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

    【讨论】:

    • 什么是变化的重要部分?
    • 我改变了很多结构/顺序,但真正产生影响的是 UTExportedTypeDeclarations 中的 public.filename-extension 后跟 public.mime-type。不知道为什么这最终使它起作用,但它确实起作用了。
    猜你喜欢
    • 2012-04-21
    • 1970-01-01
    • 1970-01-01
    • 2022-11-12
    • 1970-01-01
    • 2016-11-29
    • 1970-01-01
    • 2013-04-13
    • 1970-01-01
    相关资源
    最近更新 更多