MIME 类型的所有应用程序 URL

All Application URLs for MIME type

除了 LSCopyDefaultApplicationURLForURL 之外,还有 LSCopyApplicationURLsForURL 可以获取所有应用程序,而不仅仅是默认应用程序。

如果您只想获取 MIME 类型的默认应用程序,可以使用 LSCopyDefaultApplicationURLForContentType,但它似乎没有获取所有支持的应用程序的等效项。

如何在磁盘上没有实际文件的情况下获得 MIME 类型的所有支持的应用程序?

LSCopyAllRoleHandlersForContentType 将 return 注册为处理特定内容类型(使用 UTI)的应用程序包 ID 列表。

此功能与 LSCopyApplicationURLsForURL 之间的逻辑区别在于,列表可以过滤为仅以特定方式(仅显示、编辑等)处理所述内容的那些应用程序。如果您想要所有应用程序,请传递 kLSRolesAll.

要获取实际应用 URL(s),请使用 returned 应用 ID 之一调用 LSCopyApplicationURLsForBundleIdentifier