Если у вас есть существующая загрузка в Testflight для приложения, вам нужно увеличить либо Version number
, либо Build number
(или оба).
Version number
можно автоматически увеличить с помощью increment_version_number
(как вы заметили), но вы должны указать, что увеличивать. В вашем случае (v2.4.1): основной номер версии - 2, младший - 4, патч - 1.
Поэтому вы должны добавить этот фрагмент в Fastfile
перед сборкой / архивированием приложения:
increment_version_number(
bump_type: "patch"
)
Однако я бы не рекомендовал устанавливать номера версий автоматически, поскольку номер версии приложения зависит от того, что вы указали в обновлении. Если это просто выпуск с исправлением ошибок или оптимизация производительности, то увеличьте последнюю ди git на patch
. Если вы добавили несколько интересных новых функций, вы должны увеличить minor
версию. Если бы обновление было похоже на переписывание с нуля, полное изменение или внесение каких-то серьезных изменений, то я бы увеличил число major
в версии. Не элегантно всегда увеличивать число patch
, потому что номер версии имеет значение.
В проекте, над которым я работаю, мы использовали для увеличения номеров версий вручную при выпуске, но увеличивали Build numbers
автоматически с Fastlane.
Вот что мы сделали:
1.) Включите Apple Generi c Управление версиями в проекте: (Проект> Настройки сборки> Управление версиями> Система управления версиями: Apple Generi c)
2.) Установите базовый номер сборки: (Проект> Настройки сборки> Управление версиями> Текущая версия проекта: 1)
3.) Добавьте следующий простой помощник Ruby класс в папку fastlane / utility:
changelog_helpers.rb:
class BuildNumberFactory
class << self
def make
`git rev-list HEAD --count`
end
end
end
4.) Добавьте эту строку в самые первые строки в Fastfile
:
Dir.glob('./utility/*').each { |file| require file }
5.) Использование в FastFile
:
lane :your_submit_testflight_lane do
increment_build_number build_number: BuildNumberFactory.make
# gym, pilot, other actions after setting the build number
end
Этот метод предполагает, что вы используете Git для контроля версий. В основном для каждого коммита Fastlane может назначить определенный c номер сборки. И поскольку вы загружаете приложения с приращением Build number
, не будет проблемой, что Version number
не изменится.
Когда вы собираетесь выпустить обновление для приложения, я бы предложил:
1.) Увеличить Version number
(ex 2.4.2
) в новый коммит, pu sh это на удаленный
2.) Создайте тег Git для этого коммита
3.) Запустите полосу Fastlane, которая загружает сборки в Testflight
При использовании описанной выше техники c разработчикам не придется постоянно обновлять Info.plist Version number
при отправке ежедневных тестовых сборок в Testflight. Вам нужно только увеличивать Version number
, когда вы выпускаете обновление - вы все равно не сможете этого избежать.
Надеюсь, это поможет! :)