此外LSCopyDefaultApplicationURLForURL
,还有LSCopyApplicationURLsForURL
获取所有应用程序的功能,而不仅仅是默认应用程序。
如果您只想获取 MIME 类型的默认应用程序,可以使用LSCopyDefaultApplicationURLForContentType
,但它似乎没有获取所有支持的应用程序的等价物。
如何在磁盘上没有实际文件的情况下获取 MIME 类型的所有受支持应用程序?
此外LSCopyDefaultApplicationURLForURL
,还有LSCopyApplicationURLsForURL
获取所有应用程序的功能,而不仅仅是默认应用程序。
如果您只想获取 MIME 类型的默认应用程序,可以使用LSCopyDefaultApplicationURLForContentType
,但它似乎没有获取所有支持的应用程序的等价物。
如何在磁盘上没有实际文件的情况下获取 MIME 类型的所有受支持应用程序?
这LSCopyAllRoleHandlersForContentType
将返回一个应用程序包 ID 列表,这些 ID 已注册以处理特定内容类型(使用 UTI)。
此功能与此功能之间的逻辑区别在于LSCopyApplicationURLsForURL
,可以将列表过滤为仅以特定方式处理所述内容的那些应用程序(仅显示、编辑等)。如果您想要所有应用程序,请通过kLSRolesAll
.
要获取实际的应用程序 URL,请LSCopyApplicationURLsForBundleIdentifier
使用返回的应用程序 ID 之一进行调用。