我有一个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”。上面的代码适用于其他项目。
答案 0 :(得分:4)
3.5.6和3.5.5恰好是最新的两个Firefox版本。也许既然你正在构建一个插件,那么你正在使用那个片段而不是你期望的插件版本来获取Firefox版本?如果是这样的话,不管你多少用你的包中的版本号捏造它都不会做你想要的......