Изменение значка приложения для новой версии приложения через iTMSTransporter

Я пытаюсь автоматизировать процесс отправки приложений в iTunes Connect. Я могу использовать iTMSTransporter для обновления метаданных и снимков экрана просто отлично, но я все еще не могу понять, смогу ли я каким-то образом процесс автоматической замены значка приложения на новую версию. Я знаю, что Transporter может отправить значок приложения снова, но в данный момент Все, что я могу сделать, это войти в систему с помощью сценария селена, перейти на страницу приложения, щелкнуть по отрицательному знаку в приложении и вставить новый. Неужели нет лучшего способа? Нет API или что-нибудь? Любые указатели в правильном направлении будут полезны.

Редактировать: Похоже, что существует отличный набор инструментов, называемых fastlane, которые мне, возможно, понадобится в конце концов попробовать, но, поскольку мой проект полностью представлен в Ruby 1.9.3, может произойти непредвиденное поведение, если я решу обновить Ruby.

2 ответа

Решение

Если кто-то сталкивается с этой проблемой и должен решить ее, я сделал это с помощью watir.

require 'watir-webdriver'
@browser = Watir::Browser.new :chrome

Я вхожу и перехожу к записи iTunes Connect. Затем я использую следующее if-выражение:

if @browser.divs(:class => /(file-drop-zone.* appversionicon)/)[1].link.present?
  app_icon = @browser.label(:text => /App Icon/).parent.file_field 
  app_icon.set(PATH_TO_ICON_FILE)
else
  @browser.divs(:class => 'hideOverflow ios7-style-icon').last.click if @browser.divs(:class => 'hideOverflow ios7-style-icon').last.present?
  @browser.divs(:class => 'deleteButton').last.click
  app_icon = @browser.label(:text => /App Icon/).parent.file_field
  app_icon.set($PROPS.high_res_icon)
end

Как это работает, сначала проверяет, доступно ли поле загрузки. Если это так, просто используйте набор значков для абсолютного пути к файлу значков. Если это не так, удалите существующий значок, а затем замените его новым. Может быть необходимо установить метод сна где-то посередине, но это зависит от индивидуума, чтобы реализовать это.

Попробуйте эту библиотеку Ruby: https://github.com/sshaw/itunes_store_transporter, она претендует на работу с 1.9.3 и даже 1.8.7 и поставляется в комплекте с утилитой командной строки. Не уверен, чем программа командной строки отличается от fastlane, но библиотека позволит настраивать автоматизацию.

Есть связанный проект, который обеспечивает GUI.

Другие вопросы по тегам