美文网首页
# 记一次 ipa 上传 iTunes Connect问题查找

# 记一次 ipa 上传 iTunes Connect问题查找

作者: 吉吉国王的咲咲 | 来源:发表于2019-01-17 21:46 被阅读0次

iOS发版时,我们需要将 ipa文件(包含元数据的xxx.xml的xxx.itmsp)上传到 ITunes Connect后台,之后通过testflight放出内测,或者发版到AppStore。

上传这个过程,不管是我们直接使用 Application Loader GUI还是 fastlane,其实我们调用的都是 iTMSTransporter;这个程序是java写的,支持跨平台

    /Application Loader.app/Contents/itms/bin/iTMSTransporter
image.png

上传的时候,一直报
** ERROR: Communication error. Please use diagnostic mode to check connectivity. You need to have outbound access to TCP port 443.
ERROR: An exception has occurred: The target server failed to respond
org.apache.http.NoHttpResponseException: The target server failed to respond
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:141)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
...... **

网上查找找问题;一般都是说是防火墙或者代理问题;机器在机房放着,网络的同学很自信的告诉咱们,网络没问题,一定是服务的问题。

没办法,去🍎爸爸官网找找;
这时候,我们会发现;
Uoload模式下:会有三种传输模式:
Aspera模式, Signiant模式, DAV模式


image.png

简单说点;

  • DAV使用了https完成任务, 使用443端口
  • Aspera基于FASP文件传输, 使用TCP 33001端口和UDP端口 33001
  • Signiant 使用TCP 44001端口和UDP端口44001至44101

详情信息可以去这里查看 传输模式详情说明

除了Upload模式,我们可以使用 Diagnostic 模式,从而对上传网络进行测试;
比如我们可以使用如下命令进行测试

  iTMSTransporter -m diagnostic -v eXtreme -u your_team -p your_passwd

不带 -t 参数,会对三种模式都进行测试(其实就是传一个小文件到后台看能否成功

image.png

写了脚本,对机房机器进行三种模式测试后,其实会发现 DAV模式是比较好的;基本可以避免这个问题,
因此我们在上传脚本需要指定 transport模式;

  iTMSTransporter -m upload -f xxx. itmsp -u <username> -p <password> -s <shortname> -v eXtreme -t DAV

后来忽然想起来,看看faslane里面是什么,撩一眼,有惊喜!


image.png

最后,附上 苹果爸爸的 Transporter 用户指南 和 fastlane里面对应的issues

  1. Transporter 用户指南
  2. fastlane issue

相关文章

网友评论

      本文标题:# 记一次 ipa 上传 iTunes Connect问题查找

      本文链接:https://www.haomeiwen.com/subject/aqswdqtx.html