跟踪OSX / xcode中的版本号

时间:2009-12-17 19:28:42

标签: xcode dictionary version plist bundle

我有一个C / C ++程序,它是一个Firefox插件。我正在尝试找到版本号资源。

在我的plist中我有:Bundle versions string,short set to 5.09b and bundle version to 1.0

在我的.rsrc文件中(是​​的,我仍在使用rsrc文件,这不是我的错。)我的vers资源有一个4.70的短字符串

编译时,.app文件的版本是5.09b

当我运行程序时,我会这样做:

CFBundleRef myAppsBundle = CFBundleGetMainBundle();
bundleVersion = (CFStringRef) CFBundleGetValueForInfoDictionaryKey(myAppsBundle, CFSTR("CFBundleShortVersionString"));

CFStringGetCString(bundleVersion, verString, sizeof(verString), kCFStringEncodingMacRoman);
printf("bundleversion is %s\n", verString);

它给了我3.5.6。以前,它给了我3.5.5。

我已经通过我的代码进行了大量搜索,并且无法在任何地方找到“3.5.5”。上面的代码适用于其他项目。

1 个答案:

答案 0 :(得分:4)

3.5.6和3.5.5恰好是最新的两个Firefox版本。也许既然你正在构建一个插件,那么你正在使用那个片段而不是你期望的插件版本来获取Firefox版本?如果是这样的话,不管你多少用你的包中的版本号捏造它都不会做你想要的......