【问题标题】:OSX: programmatically get list of applications for a fileOSX:以编程方式获取文件的应用程序列表
【发布时间】:2015-03-30 09:23:00
【问题描述】:

在查找器中,用户可以右键单击/“打开方式”并查看可用于打开文件的应用程序列表。

如何以编程方式获取此应用程序列表?

首选 ObjC 或 Python,但也很好奇是否有命令行实用程序可以公开此功能。

【问题讨论】:

    标签: python objective-c macos command-line


    【解决方案1】:
    NSArray *applicationURLs = CFBridgingRelease(LSCopyApplicationURLsForURL((__bridge CFURLRef)fileURL, kLSRolesAll));
    NSLog(@"applicationURLs %@", applicationURLs);
    

    // 输出

    applicationURLs (
        "file:///Applications/calibre.app/",
        "file:///Applications/Archiver.app/",
        "file:///Applications/Pacifist.app/",
        "file:///System/Library/CoreServices/Archive%20Utility.app/"
    )
    

    对于默认应用:

       CFURLRef defaultApplicationForURL = NULL;
       LSGetApplicationForURL((__bridge CFURLRef)fileURL, kLSRolesAll, NULL, &defaultApplicationForURL);
       NSLog(@"deafultApplicationForURL %@", defaultApplicationForURL);
    

    // 输出

    deafultApplicationForURL file:///System/Library/CoreServices/Archive%20Utility.app/
    

    【讨论】:

      猜你喜欢
      • 2019-10-09
      • 1970-01-01
      • 2012-01-15
      • 1970-01-01
      • 2011-09-07
      • 2012-04-23
      • 2017-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多