1. ホーム
  2. objective-c

[解決済み] Xcodeバージョン(CFBundleShortVersionString)とビルド(CFBundleVersion)の違いについて

2023-02-02 03:16:27

質問

Xcode 4では、私のターゲットの要約はこのようになっています。

入力の "Version"は CFBundleShortVersionString に対応し、"Build" の入力は CFBundleVersion .

この2つの違いは何でしょうか?インターネット上では、両方に同じ値を入れたがる人をよく見かけますが、私が思うに、それは下位互換性のためなのではないでしょうか。

2つ質問があります。

1) もし私がゼロから始めるとしたら、アプリのバージョン管理のベストプラクティスは何でしょうか?

2) 私のアプリの以前のすべてのリリースでは、私はただ単に CFBundleVersion . アップグレードのプロセスを混乱させないために、引き続き CFBundleVersion のインクリメントを続けるべきでしょうか。それとも、正しい方法があるとすれば、それに切り替えることは可能でしょうか。

どのように解決するのですか?

アップルのドキュメント "情報プロパティ リスト キー リファレンス" には次のように書かれています。 CFBundleShortVersionString はリリースバージョンを表すのに対し CFBundleVersion はリリースされたかどうかに関わらず、任意のビルドを表します。 また CFBundleShortVersionString はローカライズすることができますが、なぜローカライズしたいのかわかりません。なぜなら、ピリオドで区切られた 3 つの整数からなる文字列であるべきだと言われているからです。 リリースビルドの場合、この2つの数字を同じにするのが合理的でしょう。 開発版のビルドでは、何か他のものを CFBundleVersion に何か他のもの、たとえば別のドットや整数を追加するかもしれません。