美文网首页
# 记一次 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