代码之家  ›  专栏  ›  技术社区  ›  Dave DeLong

应用程序理解的内容类型

  •  4
  • Dave DeLong  · 技术社区  · 14 年前

    给定应用程序路径(或 NSBundle

    我最初的尝试是读取应用程序的Info.plist文件并提取 kUTExportedTypeDeclarationsKey 钥匙。然而,这种方法也有一些缺陷,我一直无法解决。

    1. 尿路感染是区分大小写的。页面,例如,列表 com.apple.iWork.Pages.pages 作为导出的内容类型,但没有页面文档在其内容类型树中实际列出该类型。文件使用 com.apple.iwork.pages.pages ,由iWork quicklook生成器定义(在 /Library/QuickLook/iWork.qlgenerator ).

    LSCopyApplicationURLsForURL() , LSCopyApplicationForMIMEType() ,等等),我可以得到可以打开文件(或文件类型)的应用程序,但我想做相反的操作。(也许我不得不解析 lsregister -dump ?)

    有什么建议吗?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Ben Stiglitz    13 年前

    看看LaunchServices和提供的 LSCanRefAcceptItem() 应用程序编程接口。