我正在尝试将应用程序提交到iTunes Connect的过程自动化。我可以使用iTMSTransporter更新元数据和屏幕截图,但我仍然不知道我是否可以以某种方式自动将应用程序图标替换为新版本。我知道Transporter可以发送应用程序图标,但目前,我所能做的就是使用selenium脚本登录,导航到应用程序页面,点击应用程序上的负号并插入一个新图标。真的没有更好的办法吗?没有API什么的?任何指向正确方向的指针都会有所帮助。
编辑:看起来有一套漂亮的工具叫做fastlane,我可能最终需要尝试一下,但由于我的项目全部使用Ruby 1.9.3,如果我决定升级Ruby,可能会出现意想不到的行为。
试试这个Ruby库:itunes_store_transporter,它声称可以与1.9.3甚至1.8.7一起使用,并与命令行实用程序捆绑在一起。我不确定命令行程序与fastlane有何不同,但该库将允许自定义自动化。
有一个提供GUI的关联项目。
如果有人遇到这个问题需要解决,我会用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
它的工作方式是,它首先检查上传字段是否可用。如果是,那么只需使用将图标设置为图标文件的绝对路径即可。如果不是,请删除现有图标,然后用新图标替换。可能有必要在两者之间设置一个睡眠方法,但这取决于个人来实现。