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文件。
- 如果您的缓存因某种原因被破坏或根本不存在,则直接使用功能参数(例如在本例中使用--upload-app)调用iTMSTransporter,iTMSTransporter不会警告您,也不能自行修复,它只会卡在这里,说什么都没有!(无论编写此iTMSTransporter的人如何,您都非常需要提高您的编程意识)。
- 不带任何参数调用iTMSTransporter可以修复缓存。
- 截至2019年12月10日,使用Xcode版本11.2.1(11B500)的功能缓存约为65MB
Choose Window > Background Activity to display the Background Activity window and view delivery status information for all applications, including pending messages, time remaining, warning and error messages, and so on.