答案就是APPle提供的Transporter 官方可靠
Transporter 是 Apple 基于 Java 的命令行工具,用于进行大批量交付。您可以使用 Transporter 将您内容的 Store 数据包交付至 iTunes Store、Apple Books 和 App Store。
操作简单、即时可用的安装包,包括用于 Apple 的 macOS、Microsoft 的 Windows 和 Red Hat Enterprise Linux 的安装程序。
Windows or Linux使用 API 密钥上传 App示例
本示例显示如何使用 API 密钥从 Linux 设备上传 iOS App。此示例使用 -apiKey 选项来指定 API 密钥的名称,使用 -apiIssuer 来指定软件提供商的唯一标识符(即 Issuer ID,可在 App Store Connect 中前往“用户和访问”部分的“密钥”标签页查看)。
请注意,对于 Windows,该命令应为 C:\Program Files (x86)\itms\iTMSTransporter.cmd,而非 /usr/local/itms/bin/iTMSTransporter。
my@ubuntu:~/$ /usr/local/itms/bin/iTMSTransporter -m upload -apiIssuer 69a6de7e-bbea-47e3-e053-5b8c7c11a4d1 -apiKey CK4X2VKFGL -v eXtreme -assetFile MyApp.ipa -assetDescription AppStoreInfo.plist
ipa 及 plist文件放的位置:
ipa 及 plist文件默认需放到你执行上传命令的文件夹目录
报ERROR: Could not locate the private key file: AuthKey_CK4X2VKFGL.p8
原因:没有正确存放.private_keys 文件private_keys这个文件是上传appstore时需要用到的,此文件从苹果开发者后台下载,且只能下载1次,必须要妥善保存。
用户根目录下创建文件夹
private_keys或.private_keys 或.appstoreconnect/private_keys
cd ~
mkdir .private_keys
Windows是在C:\Users\Administrator\private_keys
Mac通过Transporter 上传更简单
1.安装Transporter
2.拖拽IPA文件到Transporter 根据提示操作即可

当然也可以通过Xcode 及 altool ,1 上传 App 的二进制文件!
更多使用方法参见:
https://help.apple.com/itc/transporteruserguide/#/itc0d5b535bf