iOS文档/文件类型关联-通配符UTI?
我有一个应用程序,这是一个通用的文件管理器的东西。我希望使用QLPreviewController、UIDocumentInteractionController等应用程序中的“打开…”功能能够向我的应用程序发送任何文件类型 我创建了一个文档类型,但无论“类型”设置为“*”、“public.*”还是类似的组合,我都无法让应用程序在非特定情况下显示(例如,如果我将UTI更改为com.adobe.pdf,它就可以工作) 在Mac OS X上,可以将应用程序设置为所有文件类型的通用查看器-这在iOS上不可能吗iOS文档/文件类型关联-通配符UTI?,ios,uti,Ios,Uti,我有一个应用程序,这是一个通用的文件管理器的东西。我希望使用QLPreviewController、UIDocumentInteractionController等应用程序中的“打开…”功能能够向我的应用程序发送任何文件类型 我创建了一个文档类型,但无论“类型”设置为“*”、“public.*”还是类似的组合,我都无法让应用程序在非特定情况下显示(例如,如果我将UTI更改为com.adobe.pdf,它就可以工作) 在Mac OS X上,可以将应用程序设置为所有文件类型的通用查看器-这在iOS上
编辑 翻阅文档,我发现只有少数几个基本的UTI类型,所有其他类型都是从这些类型继承的
public.item
public.content
public.database
public.calendar-event
public.message
public.contact
public.archive
public.url-name
public.executable
com.apple.resolvable
其中许多显然永远不会成为文件的实例
我可能过于雄心勃勃地试图创建一个通配符测试:我尝试了public.item,它处理邮件中的pdf文件。由于文档声明public.item是“物理层次结构的基本类型”,这可能意味着这是通配符,即“public.item=*”
在最坏的情况下,我可以添加项目、内容、数据库和归档,并希望一切顺利。最佳情况下,项目涵盖所有内容。public.item适用于我迄今为止尝试的每种类型。您需要为功能层次结构和物理层次结构指定UTI。对于所有文件(但不包括捆绑包),您可以使用public.data+public.content。对于所有内容(包括符号链接和文件夹),您都将使用public.item+public.content 查看Dropbox.app是如何实现的:
请参阅我在这里写的关于UTI的文章:
public.item
还可以匹配苹果事件中的创建者代码等奇怪的东西,当我收到关于我的一个应用程序在OS X 10.6上随机启动的报告时发现了这一点。我用public.data解决了这个问题。(当然,Apple Events的东西不适用于iOS…)要排除捆绑包/目录/系统符号文件,“public.data”还不够吗?