2009-12-17 40 views
0

我有一个C/C++程序,它是一个Firefox插件。我试图找到版本号资源。在OSX/xcode中追踪版本号

在我的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

3.5.6和3.5.5恰好是最新的两个Firefox版本。也许,因为你正在构建一个插件,你正在使用那个代码片段而不是你所期望的插件版本来获取Firefox版本?如果是这样的话,无论你对套件中的版本号进行多少调整,它都不会做你想做的事情......

+1

是的。你的插件很可能不是主要的包。 –

+0

哦。我的。是。那......解释了一切! 我不知道我是否可以访问我的plist ... hrm ...好吧,那是另一个问题。谢谢! –