Xcode11 ipa上传卡死解决方案

4,615 阅读3分钟

去年下半年学伞,东南转了一大圈,飞伞,受伤,疫情,我就这么浪了大半年,大半年没摸过代码,最近有点事情需要更新应用,代码倒是弄好了,结果在家上传了一天,死都传不上,一直卡在授权进度上,也就是Authenticating with the iTunes store上卡死,偶尔卡过去了来个失败:App Store Connect Operation, Error An error occurred uploading to the App Store

我一个人玩

整呗,我寻思半年前上传啥的都好好的,不至于新版Xcode上出问题吧(虽然群里经常在骂阿三),所以完全没有考虑到Xcode上头去,那就一步步排除。

  • 首先,今天刚换了电池,开启我小本本的第二春,应该不是电池问题。
  • 其次,电信网络也好,手机热点也好,试了好多次,网络问题也排除。
  • 再次,怀疑484苹果服务器抽风(主要是以前某两个版本遇到过,传很久能传上去),那就老套路用Application Loader,只要Xcode抽风,这玩意必定能成功,结果这玩意消失了,最后找到阿三们换过皮肤的皮肤怪Transporter,结果一个吊样,也是一直卡在授权。
  • 最后,经过各种清缓存,重启,完全没啥鸟用,最终我才不得不怀疑上Xcode的问题,从这方面入手,根据我多年面向谷歌编程的功力,得以解决。毕竟半年没叨逼叨了,遂在此记录一下问题,正式解决开始。

其实也就三个命令

先切换到缓存目录下:

cd /Users/your_user_name/Library/Caches

再删除itmstransporter的缓存目录(等下告诉你们是啥情况):

rm -rf com.apple.amp.itmstransporter

最后无参数执行一下iTMSTransporter:

/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/itms/bin/iTMSTransporter

执行的结果:

执行中...

结束

其实这就是一个执行下载的过程,下载完成后,再打开Xcode,上传就是分分钟的事情了。

后话

怎样,操作很简单吧,这里出来唠两块钱的嗑,其实网上有多关于Xcode上传问题的解决方案,包括像iOS关于上传iTunes store一直卡住终极解决方案,他这里面都说的还是挺全的,不过就是老了点,不适用于新版本。

Xcode 11之后苹果把Application Loader已经移除了,替换成了开始提到的Transporter,其实也就是个换皮怪,改了下文案UI,但是Xcode本身的上传功能还是具备的,其实这个上传就是一个java的一套CI执行程序,而上文提到的iTMSTransporter只是一个下载程序,负责下载CI。而且以前的下载程序路径已经改了,缓存路径也改了,所以老方法一个也冇法。

最后简单猜测一下,为毛会一直卡住,是首次执行的时候需要下载上传那套CI,而给的提示只是授权,有可能是最近墙厚的原因,所以根本下载不动,我删缓存之前看了下,卡了几个小时只有几兆,真他娘的坑,这个小功能是哪只阿三搞的,拖出去吸两口新冠吧他娘的。

额外赠送

估计很多人执行了下载程序也会毫无提示,因为你没好梯子啊,只需要把梯子挂个全局,开个HTTP代理即可,什么?你ss只有socks5代理,自行转代理吧。代理接上梯子,速度biubiu的,让人害怕。

终端临时代理:

# proxy
function proxy_off(){
    unset http_proxy
    unset https_proxy
    echo -e "已关闭代理"
}
function proxy_on() {
    export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
    export http_proxy="http://127.0.0.1:8001"
    export https_proxy=$http_proxy
    echo -e "已开启代理"
}

8001是我自己的HTTP代理端口,别整岔了。