В чем разница между "номером версии" в iTunes Connect, "версией пакета", "строкой версии пакета" в Xcode?
документ Apple мог бы быть более ясным о том, как представить версию обновления.
Как указано в заголовке,
В чем разница между
- номер версии в itunes connect (который вы должны указать при отправке обновления)
- версия пакета в xcode
- bundle versions string, short
Они связаны каким-либо образом?
6 ответов:
Да, они связаны. Все они относятся к версии вашего приложения.
видео
Это номер версии, показанный в магазине приложений; это должен быть чистый номер версии, например1.2.3Версия Пакета (CFBundleVersion)
Это не должен быть чистый номер версии. Это может быть что-то вроде12345или1.2.3 (Build 12345AB). Это показано в окне О программе для Mac OS X приложения, например, и часто больше "Номер сборки", чем"номер версии".Строка Версии Пакета (CFBundleShortVersionString) Это значение используется в качестве "реальной" версии. Это должны быть той же строкой, что и для версии в видео.
обновление:
Как указывает @snlehton,CFBundleVersion должна быть чистая версия число вроде1.2.3Если вы хотите загрузить приложение в магазин приложений (iOS).
Да они связаны, но их определение зависит от того, как они используются.
- версия iTunes Connect
всегда должен быть номер версии, например, 1.0
режим использования 1-установлен только CFBundleVersion
- Версия Пакета (CFBundleVersion)
должен быть номер версии, например, 1.0. Должна соответствовать версии iTunes Connect.
режим использования 2 - Оба CFBundleVersion и CFBundleShortVersionString устанавливаются
- Версия Пакета (CFBundleVersion)
должен быть номер сборки, например, одно целое число, например 435163.
- Bundle Short Version String (CFBundleShortVersionString)
должен быть номер версии, например, 1.0. Должна соответствовать версии iTunes Connect.
режим использования 2-это лучший способ пойти. Вот некоторые примеры номеров для обновления приложения путь:
CFBundleShortVersionString CFBundleVersion 1.0 1 1.0.1 2 1.0.2 3 1.2 5 (build 4 was a beta and never released publicly) 1.2.1 6дополнительная заметка о номерах версий: Если вы отправляете небольшое обновление (например, исправление ошибок) в свое приложение, вы никогда не должны пропускать периоды в номере версии, например, всегда используйте 1.0.1 и никогда 1.01, или вы рискуете не использовать определенные номера версий в будущем, потому что их невозможно будет увеличить.
Да, они все связаны.
Номер Версии в itunesconnect-это номер версии, который вам нужно предоставить. Например, 2.1.1 или 3.1.2 и т. д. Это также должно быть равно CFBundleShortVersionString.
Версия Пакета В Xcode (CFBundleVersion) представляет только номер сборки, который идентифицирует итерацию (выпущенную или неизданную) приложения.
набор версий строка, короткая (CFBundleShortVersionString) - номер состоит из трех чисел, разделенных точками. Первый представляет любые основные обновления приложения, такие как обновления, которые реализуют новые функции или основные изменения. Второе целое число обозначает ревизии, которые реализуют менее заметные функции. Третье целое число представляет выпуски обслуживания.
будьте осторожны CFBundleVersion. Это не только номер производственной сборки. Это значение проверяется Apple во время двоичного процесса загрузки, и он может не выполнить его.
убедитесь, что вы установили CFBundleVersion со значением CFBundleShortVersionString когда вы создаете свой релиз для представления.
посмотреть этот пост об этом
принятый ответ-это путь, просто добавив это в качестве примера.
для нашего последнего выпуска требовалась "строка версии пакета, короткая", и я пошел вперед и сопоставил ее с номером версии пакета (1.2.8 для нашего приложения).
затем я включил Testflight и сделал версию в ожидании Apple review (1.2.8) доступной для наших внутренних тестеров. Однако тестер обнаружил проблему, которая требовала исправления, и мы удалили двоичный файл на месте. При загрузке нового сборка, мы получили сообщение об ошибке, указывающее, что версия сборки уже загружена.
после прочтения нескольких ссылок SO и документов Apple, мое понимание состояло в том, чтобы сделать версию пакета: 1.2.8.001, в то время как maintaing bundle-version-short так, как это было. Если требуется новая сборка, мы увеличиваем bundle-version до 1.2.8.002.
Примечание: загрузка была принята, и сборка отображается как "1.2.8.001" под предварительным выпуском. Номер версии остается 1.2.8.
принятый ответ по этой ссылке содержит хорошие детали :: какие версии приложений iOS / номера сборки должны быть увеличены при выпуске магазина приложений?
от apple docs
CFBundleVersion ( тяж версия )
CFBundleVersion (String - iOS, OS X) задает номер версии сборки пакета, который определяет итерацию (выпущенную или не выпущенную) пакета. Номер версии сборки должен быть строкой, состоящей из три неотрицательных, разделенных периодом целых числа с первым целым числом больше нуля. Строка должна содержать только число (0-9)и точку (.) письмена. Ведущие нули отсекаются от каждого целого числа и будут игнорироваться (то есть 1.02.3 эквивалентно 1.2.3). Этот ключ не является локализуемым.
CFBundleShortVersionString (Bundle versions string, short)
CFBundleShortVersionString (String - iOS, OS X) указывает номер версии выпуска пакета, который идентифицирует выпущенную итерацию приложения. Номер версии выпуска-это строка, состоящая из трех целых чисел, разделенных точками. Первое целое число представляет основные изменения в приложении, такие как изменения, которые реализуют новые функции или основные изменения. Второе целое число обозначает ревизии, которые реализуют менее заметные функции. Третье целое число представляет выпуски обслуживания.
значение для этого ключа отличается от значения для CFBundleVersion, которое определяет итерацию (выпущенную или неизданную) приложения. Этот ключ можно локализовать, включив его в свой InfoPlist.файлы строк.
Comments