2019 年 12 月 10 日,Xcode 版本 11.2.1,MacOS X 10.15.1
我昨天遇到了完全相同的问题,我认为这可能是网络问题,至少看起来是这样。但是今天早上我尝试了几个不同的网络和几个 VPN 连接,它们都没有工作!
这里投票最高的答案要求我在我的主目录下重置名为.itmstransporter的缓存文件夹,在特定文件夹下运行程序iTMSTransporter,但我找不到它们。
但很快我发现它是使用旧上传程序的人的缓存文件夹:Application Loader,已被 Apple 弃用,在 Xcode 11 中不再存在。然后我发现最新的 Xcode 已将iTMSTransporter 放在此处:
/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/itms/bin/iTMSTransporter
它的缓存文件夹在这里:
/Users/your_user_name/Library/Caches/com.apple.amp.itmstransporter/
我删除了我现有的缓存文件夹,并在没有任何参数的情况下运行 iTMSTransporter ,它很快开始输出日志并下载一堆文件,并在 2 或 3 分钟内完成。然后我再次尝试上传我的 ipa 文件,它可以工作!!!
结论:
- 无论是旧的 Application Loader,还是最新的 Xcode,都使用 Java 程序iTMSTransporter来处理 ipa 文件的上传。
- 要正常运行,iTMSTransporter 需要一组从 Internet 下载并缓存在本地文件夹中的 jar 文件。
- 如果您的缓存以某种方式损坏或根本不存在,则直接使用功能参数调用 iTMSTransporter,例如在我们的示例中为 --upload-app,iTMSTransporter 不会警告您,也不会自行修复缓存,它只会卡在那里,什么也没说!(写这个 iTMSTransporter 的人,你真的需要提高你的编程意识)。
- 不带任何参数调用 iTMSTransporter 可修复缓存。
- 2019 年 12 月 10 日,Xcode 版本 11.2.1 (11B500) 的功能缓存约为 65MB