CFBundleShortVersionStringとCFBundleVersionの違い

Pocket

バージョンに関係しそうな箇所が CFBundleShortVersionStringCFBundleVersionitunes connectのApp Storeタブの3つがある。
これらの使いわけは

項目 目的
itunes connectのApp Storeタブ itunes connectでの表示のみ、ユーザー、ソースに影響しない 1.5.1
CFBundleVersion バイナリリジェクト食らった時にインクリメントしていくことでバージョンを変更しないで再提出できる(rc的な使い方) 1.5.1
CFBundleShortVersionString storeで表示される、3つの数字でピリオド区切り 1.5.1

バイナリをあげるときに、CFBundleShortVersionStringCFBundleVersion のペアでユニークであれば、アップロードできる
ex) (1.0.1, 12) -> (1.0.1, 13) -> (1.0.2, 13) -> (1.0.2, 14)

参考: https://stackoverflow.com/questions/21125159/which-ios-app-version-build-numbers-must-be-incremented-upon-app-store-release

Pocket