LSGetApplicationForItem的反转

时间:2012-01-25 16:16:50

标签: macos osx-snow-leopard macos-carbon core-services launch-services

我正在编写一个图像查看器应用程序,我需要将其设置为jpeg / gif文件的默认应用程序。有一个API LSGetApplicationForItem / Info用于获取有关默认应用程序的信息。 但我无法找到一个API,我可以将我的应用程序设置为图像文件的默认查看器。

你能帮忙吗

2 个答案:

答案 0 :(得分:2)

你想要the LSSetDefaultRoleHandlerForContentType function。通过kUTTypeGIF获取GIF,kUTTypeJPEG获取JPEG。

请仅在用户明确告知您时执行此操作。否则,他们会恨你。

答案 1 :(得分:0)

据我所知,没有公共API可以做到这一点。相反,您使用Info.plist(或Xcode中的Info编辑器的Document Types部分)注册您是您感兴趣的任何文件类型的查看和/或编辑的提供者。这将导致系统选择您的应用程序,如果没有其他应用程序可以打开这些文件类型,并且如果用户在Finder中选择文件时从上下文菜单中选择“打开方式”,则会让您继续运行。