我有一个应用程序,它是一个通用文件管理器。我希望使用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 = *”
最糟糕的情况是,我可以添加项目,内容,数据库和存档,并希望获得最佳效果。最佳案例场景,项目涵盖了所有内容。
答案 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适用于我迄今为止尝试的每种类型。