通过iTMSTransporter更改新应用版本的应用图标

时间:2016-03-25 23:34:37

标签: ios itunesconnect itmstransporter

我正在尝试将应用程序提交的过程自动化到iTunes Connect。我可以使用iTMSTransporter来更新元数据和屏幕截图,但是我仍然无法想象我是否能以某种方式自动用新版本替换app图标。我知道Transporter可以发送应用程序图标,但此刻我所能做的就是使用selenium脚本登录,导航到应用程序的页面,点击应用程序上的负号,然后插入一个新的。真的没有更好的方法吗?没有API或任何东西? 任何正确方向的指针都会有所帮助。

编辑: 看起来有一套漂亮的工具名为fastlane,我最终可能需要尝试,但由于我的项目完全在Ruby 1.9.3中,如果我决定升级Ruby,可能会出现意外行为。

2 个答案:

答案 0 :(得分:0)

试试这个Ruby库:itunes_store_transporter,声称可以使用1.9.3甚至1.8.7,并与命令行实用程序捆绑在一起。我不确定命令行程序与fastlane的区别,但库允许自定义自动化。

an associated project提供GUI。

答案 1 :(得分:0)

如果有人遇到这个问题并且需要解决,我就用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

它的工作方式是,它首先检查上传字段是否可用。如果是,则只需使用将图标设置为图标文件的绝对路径。如果不是,请删除现有图标,然后将其替换为新图标。可能有必要在两者之间的某处设置睡眠方法,但是由个人来实现它。