0

Firefox プラグインである C/C++ プログラムがあります。バージョン番号のリソースを見つけようとしています。

私の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 はたまたま最新の 2 つの Firefox リリースです。おそらく、プラグインを構築しているため、期待どおりのプラグインのバージョンではなく、そのスニペットを含む Firefox のバージョンを取得していますか? その場合、バンドルのバージョン番号をどれだけごまかしても、希望どおりにはなりません...

于 2009-12-17T19:35:30.787 に答える