1

鉴于它的路径,我想获取应用程序的捆绑标识符。

例如:

NSString* vlcFilePath =  @"/Applications/VLC.app"

如果它是活动应用程序,我知道如何获取捆绑标识符NSWorkspace,但在这种情况下,它不一定是活动应用程序。

4

2 回答 2

12

NSBundle 有一个bundleIdentifier方法。如果尚未加载/运行,这将不会运行或加载应用程序:

NSString *vlcFilePath = @"/Applications/VLC.app";

NSBundle *bundle = [NSBundle bundleWithPath:vlcFilePath];

NSLog (@"%@", [bundle bundleIdentifier]);
于 2011-01-09T00:56:30.633 回答
-2

打开应用程序包的 plist 文件并从那里读取它:

NSDictionary *plistInfo = [NSDictionary dictionaryWithContentsOfFile:[vlcPath stringByAppendingPathComponent:@"Contents/Info.plist"]];

NSLog(@"VLC bundle identifier = %@", [plistInfo objectForKey:@"CFBundleIdentifier"]);
于 2011-01-09T00:44:36.593 回答