AndroidとiOSで設定できるバージョンについてちょっとややこしかったのでまとめてみた。
まだ情報が足りないかもしれないけど、わかったら追記する予定。
Android
- 記入場所:AndroidManifest.xml
- android:versionCode
- android:versionName
Androidの場合は、「versionCode」と「versionName」の2種類。
それぞれの意味は以下のとおり。
- versionCode:内部バージョン(整数)
- 内部のバージョン番号でユーザに見せるものではない。
- 何回目のアップロードかを表す整数で、リリースをするたびに値を増やす必要がある。
- versionName:表示用のバージョン(文字列)
- ユーザに示すバージョン番号でGooglePlayに表示される。
- 文字列であり一般的にx.y.zのようにつける。
- x(major).y(minor).z(point)
- 世に出ているアプリを何種類か調べたけど、だいたいはこの形式で登録している。
参考
iOS
- 記入場所:info.plist
- CFBundleVersion
- CFBundleShortVersionString
iOSの場合は、「Bundle version」と「Bundle versions string, short」の2種類。
それぞれの意味は以下のとおり。
- Bundle version:内部バージョン(文字列)
- 内部のバージョン番号でユーザに見せるものではない。
- リリースの時に特に利用されていない。
- ユニークである必要はない(*1)。
- Bundle versions string, short:表示用のバージョン(文字列)
XcodeのGeneralにあるIdentifyに表示されているVersion、Buildの対応は以下のとおり。
- Version
- Bundle versions string, short
- Build
- Bundle Version
補足説明
- (*1)
- あるバージョンのリリース時にパッケージを複数個アップロードすることができ、その中から審査対象を選ぶことができる。その時に、Bundle versionがすでにアップ済みのものと同じだとアップロードすることができない。
- (*2)
- iTunesConnectの登録時にはユニークチェックはしているが、前回と比べて増加していないといけないといったチェックはしていない(ただし、アプリのアップロード時にエラーになる)。
- (*3)
- 参考資料によると多言語対応ができると書いているが、例えばiTunesConnectでEnglishで1.0.5にするとJapaneseでも1.0.5になってしまう。
参考
まとめ
項目 | Android versionCode |
Android versionName |
iOS Bundle version |
iOS Bundle versions string, short |
---|---|---|---|---|
マーケットに表示される | x | o | x | o |
リリース時に利用 (前回より値が増えている必要あり) |
o | x | x | o |
型 | 整数 | 文字列 | 文字列 | 文字列 |