访问任何应用包标识符

时间:2016-01-24 16:29:02

标签: macos path bundle-identifier nsrunningapplication

对于我的应用,我让用户选择其计算机的特定应用程序的路径。从那条路径(即/Applications/Itunes.app)我想得到包标识符,并从中创建一个NSRunningApplication实例([NSRunningApplication runningApplicationsWithBundleIdentifier:(nonnull NSString *)];我将如何获取此包标识符?

1 个答案:

答案 0 :(得分:1)

使用核心基础功能CFBundleGetIdentifier

使用CFURLCreateFromFileSystemRepresentation从包含路径创建捆绑引用并调用CFBundleCreate

url = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault, bundlePath, bundleLength, true);
bundle = CFBundleCreate(kCFAllocatorDefault, url);

CFStringRef identifier = CFBundleGetIdentifier(bundle)