iOS文档/文件类型关联 - 通配符UTI?

时间:2011-11-05 01:19:14

标签: ios uti

我有一个应用程序,它是一个通用文件管理器。我希望使用QLPreviewController,UIDocumentInteractionController等在应用程序中出现“Open in ...”功能,以便能够向我的应用程序发送任何文件类型。

我创建了一个文档类型但是“类型”是否设置为“*”,“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 = *”

最糟糕的情况是,我可以添加项目,内容,数据库和存档,并希望获得最佳效果。最佳案例场景,项目涵盖了所有内容。

2 个答案:

答案 0 :(得分:8)

您需要为功能层次结构和物理层次结构指定UTI。对于所有文件(但不包括bundle),您可以使用public.data + public.content。对于所有内容(包括符号链接和文件夹),您可以使用public.item + public.content。

了解Dropbox.app的用途:http://www.cocoanetics.com/2013/01/open-in-all-files/

在这里查看我关于UTI的文章:http://www.cocoanetics.com/2012/09/fun-with-uti/

答案 1 :(得分:5)

public.item适用于我迄今为止尝试的每种类型。