@tdkn
正しく理解する iOS アプリのバージョニング
ios
Bundle Version は2つある
CFBundleShortVersionString
(Bundle versions string, short)CFBundleVersion
(Bundle version)
かっこ内は Xcode 上での名称。
Info.plist
を開いて右クリックメニューの Show Raw Keys/Values
で表示を切り替えることが可能です。
それぞれ何が違うのか見ていきましょう。
CFBundleShortVersionString
- リリースバージョンを指定するものである。
- ピリオドで区切られた3つの整数で構成される文字列 (
String
) である。 - 1番目の整数は、メジャーバージョンを表す。
- 2番目の整数は、マイナーバージョンを表す。
- 3番目の整数は、パッチバージョンを表す。
CFBundleVersion
とは異なり、App Store などにも記載されるため、一般の人の目に触れる。
CFBundleVersion
- ビルドバージョン番号を指定するものである。
- iTunes Connect にバイナリをアップロードするたびに数値をインクリメントする必要があります。
- ピリオドで区切られた3つの整数で構成される文字列 (
String
) である。 - 数字
0-9
とピリオド.
のみを含んだ文字列で構成されなければならない。 - 数字の先頭の
0
は単に無視されます (1.02.3
は1.2.3
と同じ) - 1番目の整数は、メジャーバージョンを表す。最大4桁。
- 2番目の整数は、マイナーバージョンを表す。最大2桁。
- 3番目の整数は、パッチバージョンを表す。最大2桁。
- 3番目の数値が
0
の場合は、2番めのピリオドと共に省略することが可能 (例:1.2.0
→1.2
) - アプリの開発中においては、サフィックス(接尾辞)を含めることが可能 (例:
3.1.3a1
)- サフィックス文字はアプリの開発段階を示します
d
: development (開発版)a
: alpha (アルファ版)b
: beta (ベータ版)fc
: final candidate (最終候補)
- サフィックスの最後の数値はビルドバージョンで、
0
より大きく255
以下にしなければならない。 - アプリをリリースする際にはサフィックス文字は削除します。
- サフィックス文字はアプリの開発段階を示します
あわせて知っておきたい
- Semantic Versioning (セマンティックバージョニング)
- セマンティックなバージョニングのお作法がつらつらと書かれています。iOS アプリのバージョニングにおいても導入可能です。日本語でも書かれているので、一読しておくと良いかと!
〆
ほとんど Apple 公式ドキュメントの翻訳になりましたが、正しく解説している記事が少ない気がしたので、書いてみました。お役に立てば幸いです!!