8

我有一个应用程序,它是一个通用文件管理器。我希望使用 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 = *”

在最坏的情况下,我可以添加项目、内容、数据库和存档,并希望获得最好的结果。最好的情况,项目涵盖一切。

4

2 回答 2

10

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

看看 Dropbox.app 是如何做到的:http: //www.cocoanetics.com/2013/01/open-in-all-files/

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

于 2013-01-12T07:42:01.033 回答
6

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

于 2011-11-06T01:06:45.533 回答