Help us understand the problem. What is going on with this article?

iOSアプリバージョンについて

More than 5 years have passed since last update.

CFBundleVersion と CFBundleShortVersionString と iTunes Connect での申請時に設定すべき値について調べた結果を書く。
単に調べた結果の独自解釈です。Apple公式の情報ではありません。

用途

アプリケーションの配布に関するガイド (TP40012582 0.0.0) - AppDistributionGuide.pdf版番号とビルド文字列を設定する に全て書いてあった...
以下よりは、「アプリケーションの配布に関するガイド」を読んだ方が正確。

CFBundleVersion

  • 内部部管理バージョン
  • バンドルのリリースの繰り返しの識別。
  • ピリオドで区切られた3つの数字推奨。
  • リリースを問わないBundleのバージョン。
  • Bundleは実行ファイルという解釈でいいか。
  • リソースファイル(Info.plist)中に記述。
  • エンドユーザからは全く見えない。(どこにも表示されない。)
  • AppStore登録時に適切に更新されていないとエラー。

CFBundleShortVersionString

  • 表記用バージョン
  • アプリケーションのリリースの繰り返しの識別。ピリオドで区切られた3つの数字推奨。
  • ローカライズ可能とあったので表記用と思われます
  • リソースファイル(Info.plist)中に記述(Apple社では使っていない。)

AppStore登録のバージョン(iTunesConnect Version)

  • iTunes Store, iTunes等で表記
  • 表記のみ、アップル社として機能なし。

2014-05-02 時点で最新の「iTunes Connectデベロッパガイド」によると(昨年末に変更された?)

重要: バージョン番号がバンドルに設定されているバージョン番号と一致することを確認します。一致しない場合、以降の更新でアップロードエラーが発生する可能性があります。

推奨値

3つの数値をピリオドで区切った値。例、1.0.0
これは、CFBundleVersion と CFBundleShortVersionString の両方が対象。

CFBundleVersion は、

メジャーリビジョン、マイナリビジョン、メインテナンスリリース

とある一方で、CFBundleShortVersionString については各値の定義についての記述は見当たらなかった。経過日数.その日のリリース回数.総ビルド番号とか、yyyymmdd.ビルド番号.0とかが考えられる? リリースの度に確実に上がるものなら何でもいいのか。

参考
* CoreOS Release Notes
* Semantic Versioning 2.0.0

申請時とアプリのバージョン

申請時のバージョンの比較は、CFBundleVersion と CFBundleShortVersionString で空白でない方と。両方とも空白でない場合、どっちが優先されるんだっけ?(ソースが見当たらない)。
アプリのバージョンアップの大小判定は CFBundleShortVersionString で行われるんだっけ?(「アプリケーションの配布に関するガイド」によるとこれで正しいみたい)

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした