我如何从mac app获得其他应用程序的版本

时间:2014-09-04 20:43:21

标签: objective-c macos

我如何获得其他应用的版本。 我可以使用[NSWorkspace fullPathForApplication:(NSString *)appName]获取应用程序的路径,是否可以获取应用程序的信息?

2 个答案:

答案 0 :(得分:1)

获得应用程序的完整路径后,您可以阅读Contents/Info.plist文件并查看CFBundleShortVersionString值。

这样的事情:

NSString *appPath = [NSWorkspace fullPathForApplication:appName];
NSString *plistPath = [appPath stringByAppendingPathComponent:@"Contents/Info.plist"];
NSDictionary *plist = [NSDictionary dictionaryWithContentsOfFile:plistPath];
NSString *version = plist[@"CFBundleShortVersionString"];

答案 1 :(得分:1)

有几种方法可以实现这一目标 - 除了NSBundle之外,我通常使用CFBundleversion采用最短路线:

NSBundle *appBundle = [NSBundle bundleWithPath:appPath];
NSString *bundleVersion = [appBundle objectForInfoDictionaryKey:@"CFBundleVersion"];