2009-12-17 46 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 ...好吧,那是另一個問題。謝謝! –