0

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

在我的 plist 中,我有:捆绑版本字符串,短设置为 5.09b,捆绑版本为 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”。上面的代码适用于其他项目。

4

1 回答 1

4

3.5.6 和 3.5.5 恰好是最新的两个 Firefox 版本。也许因为您正在构建一个插件,所以您正在使用该代码段而不是您期望的插件版本来选择 Firefox 版本?如果是这种情况,无论您对捆绑包中的版本号进行多少捏造,它都不会按照您的意愿行事......

于 2009-12-17T19:35:30.787 回答