IOS 邮件应用程序中不再显示自定义文件类型
Posted
技术标签:
【中文标题】IOS 邮件应用程序中不再显示自定义文件类型【英文标题】:Custom file type no longer showing in IOS mail app 【发布时间】: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),但我认为在这个阶段不会有什么不同,因为会显示一个空白图标。
对于解决此问题的任何帮助或想法,我将不胜感激。谢谢
【问题讨论】:
【参考方案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。不知道为什么这最终使它起作用,但它确实起作用了。以上是关于IOS 邮件应用程序中不再显示自定义文件类型的主要内容,如果未能解决你的问题,请参考以下文章