Pola wersji / kompilacji aplikacji na iOS obejmują:
„Wersja” CFBundleShortVersionString (String - iOS, OS X) określa numer wersji pakietu, który identyfikuje wydaną iterację aplikacji. Numer wersji wydania to ciąg składający się z trzech liczb całkowitych oddzielonych kropkami.
„Build” CFBundleVersion (String - iOS, OS X) określa numer wersji kompilacji pakietu, który identyfikuje iterację (wydaną lub niewydaną) pakietu. Numer wersji kompilacji powinien być ciągiem składającym się z trzech nieujemnych liczb całkowitych oddzielonych kropkami, przy czym pierwsza liczba całkowita jest większa od zera. Ciąg powinien zawierać tylko cyfry (0-9) i kropki (.). Zera wiodące są obcinane z każdej liczby całkowitej i zostaną zignorowane (to znaczy 1.02.3 jest równoważne 1.2.3). Tego klucza nie można zlokalizować.
„Numer wersji połączenia iTunes” : numer wersji określany podczas tworzenia nowej wersji aplikacji w iTunes Connect.
Moje pytanie brzmi:
Które numery wersji / kompilacji należy zwiększyć, gdy nowa wersja aplikacji zostanie przesłana do iTunes Connect i / lub opublikowana w App Store?
Czy „wersja” CFBundleShortVersionString
lub „kompilacja” mogą CFBundleVersion
pozostać niezmienione między aktualizacjami aplikacji?
Dodatkowe punkty za źródła Apple lub dokładne komunikaty o błędach, które iTunesConnect wyświetla po przesłaniu nieprawidłowej wersji / numeru kompilacji.
Uwaga na Androida / Google Play:
Dyskusja, która powoduje to pytanie, dotyczy tego, że publiczna „wersja” aplikacji na Androida w sklepie Google Play nie musi być zwiększana i nie jest w żaden sposób weryfikowana. android:versionName
Może pozostać taka sama między wersjami, upgrade, downgrade, albo być dowolny losowy ciąg znaków, a nie coś, co wydaje się być poprawny „numer wersji”.
android:versionName
- Wartość ciągu, która reprezentuje wersję kodu aplikacji w wersji, w jakiej powinien być pokazywany użytkownikom.Wartość jest ciągiem, dzięki czemu można opisać wersję aplikacji jako
<major>.<minor>.<point>
ciąg znaków lub jako dowolny inny typ bezwzględnego lub względnego identyfikatora wersji.
Różnica między versionName i versionNumber w systemie Android
Podczas gdy android:versionCode
jest wymuszane jako liczba całkowita zwiększająca się przy wydaniu.
Dokumentacja Apple
Jak zauważono w nowo zaakceptowanej odpowiedzi , firma Apple niedawno opublikowała uwagę techniczną, w której szczegółowo opisano ich wersję i schemat numeru kompilacji:
Uwaga techniczna Apple TN2420 - Numery wersji i numery kompilacji