我正在编写一个图像查看器应用程序,需要将其设置为jpeg/gif文件的默认应用程序。有一个API LSGetApplicationForItem/Info用于获取有关什么是默认应用程序的信息。但我找不到一个API,在那里我可以将我的应用程序设置为图像文件的默认查看器。
你能帮吗
您需要LSSetDefaultRoleHandlerForContentType
函数。将kUTTypeGIF
传递给GIF,将kUTTypeJPEG
传递给JPEG。
请只在用户明确告诉你时才这样做。否则,他们会恨你。
据我所知,没有一个公共的API可以做到这一点。相反,您可以使用Info.plist(或Xcode中信息编辑器的"文档类型"部分)注册,即您是您感兴趣的任何文件类型的查看和/或编辑提供商。如果没有其他应用程序可以打开这些文件类型,这将导致系统选择您的应用程序,如果用户在Finder中选择文件时从上下文菜单中选择"打开方式",则会使您处于运行状态。