南锋

南奔万里空,脱死锋镝余

windows如何上传ipa文件到AppStoreConnect后台

网上教程很多,本文只为自己记录,不一定通用。为的就是防止人为关联

Windows上传IPA的推荐方案

苹果官方其实明确支持通过Windows版iTMSTransporter上传IPA,不过有个重要条件:在Windows上上传时,还需要Xcode导出IPA时生成AppStoreInfo.plist文件。Apple官方文档

生成AppStoreInfo.plist

我在Xcode导出IPA的时候是没有这个文件,导出的文件如下图
windows如何上传ipa文件到AppStoreConnect后台 — 生成AppStoreInfo.plist

苹果官方文档确认,AppStoreInfo.plist 需要通过 xcodebuild -exportArchive 并设置 generateAppStoreInformation=YES 生成。

第一步:修改ExportOptions.plist
在你现有的 ExportOptions.plist 的 <dict> 内增加:

1
2
<key>generateAppStoreInformation</key>
<true/>

保留其他原有配置。

第二步:在 Mac 执行导出命令

1
2
3
4
xcrun swinfo \
-f xxx.ipa \
-o AppStoreInfo.plist \
-prettyprint true

成功后,导出目录应包含:

1
2
3
4
5
6
export/
├── xxx.ipa
├── AppStoreInfo.plist
├── DistributionSummary.plist
├── ExportOptions.plist
└── Packaging.log

注意:需要使用这次导出生成的 IPA 和 AppStoreInfo.plist 配套上传。

执行上传命令

打开 Windows CMD,进入 iTMSTransporter 安装目录(或者将其加入 PATH)。
先执行校验:

1
2
3
4
5
iTMSTransporter -m verify ^
-assetFile "D:\ios_upload\app.ipa" ^
-assetDescription "D:\ios_upload\AppStoreInfo.plist" ^
-u "你的Apple ID邮箱" ^
-p "你的App专用密码"

校验通过后执行上传:

1
2
3
4
5
iTMSTransporter -m upload ^
-assetFile "D:\ios_upload\app.ipa" ^
-assetDescription "D:\ios_upload\AppStoreInfo.plist" ^
-u "你的Apple ID邮箱" ^
-p "你的App专用密码"

这里的密码是 Apple 账号生成的App 专用密码,不是正常登录 Apple ID 的密码。

如何生成App专用密码

  • 1、登录苹果账号管理网站
    打开Apple Account,使用你的开发者账号登录。
  • 2、进入登录和安全
    登录和安全(Sign-In and Security)→ App 专用密码(App-Specific Passwords)
  • 3、点击生成App专用密码
    输入一个名称,这个名称只是方便以后识别密码用途。
  • 4、复制生成的密码
    格式通常类似:
    1
    abcd-efgh-ijkl-mnop
    注意:这个密码只会显示一次,生成后立即保存到安全的位置。