我需要获取默认应用程序:防火墙,邮件,Office,防病毒.类似于Windows中存在的东西:
我想OSX有类似的东西,可以以编程方式检索.
我设法获得了邮件应用程序,但我不知道如何获得其他人:
CFURLRef mailURL = CFURLCreateWithString(kCFAllocatorDefault, CFSTR("mailto://"), NULL);
CFURLRef mailAppURL = NULL;
OSStatus ret = 0;
if((ret = LSGetApplicationForURL(mailURL, kLSRolesAll, NULL, &mailAppURL)) == 0) {
CFStringRef path = CFURLCopyFileSystemPath(mailAppURL, kCFURLPOSIXPathStyle);
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
Mac OS X没有用于活动或任务的默认程序,但它具有URL方案和文件扩展名的默认程序.就像您拥有的邮件代码一样,您可以通过查找http URL方案的默认处理程序找到默认的Web浏览器.至于媒体播放器,你可以选择像.mp4或.mp3这样的媒体类型然后使用它的默认处理程序LSGetApplicationForInfo,但我想有可能.mp4和.mp3有不同的默认处理程序.我不知道如何找到默认的防病毒程序或防火墙.
标题要求使用Objective-C方法,我想可以使用-[NSWorkspace URLForApplicationToOpenURL:]而不是启动服务功能.
| 归档时间: |
|
| 查看次数: |
538 次 |
| 最近记录: |