如何通过命令行将 iOS 应用上传到应用商店
Posted
技术标签:
【中文标题】如何通过命令行将 iOS 应用上传到应用商店【英文标题】:How to upload an iOS app to the app store via command line 【发布时间】:2012-08-09 16:44:35 【问题描述】:作为我的 iPhone 应用程序 countinues 集成过程的一部分,我想创建一个将应用程序 (.ipa) 文件自动上传到苹果应用商店的过程。我已经设法创建包并验证它。 有没有办法通过命令行将ipa文件上传到appstore?
【问题讨论】:
您可以尝试自动化 Xcode 或 AppleScripting Xcode,然后从命令行调用该自动化脚本。 【参考方案1】:确保您的应用程序处于“等待上传”状态。
创建一个名为:Xcode:itunesconnect.apple.com 的新钥匙串项目,将您的凭据提供给 itunes connect。
从命令行:xcrun -sdk iphoneos Validation -online -upload -verbose "path to ipa"
【讨论】:
这是完美的。我有很多客户和客户。我想代表我的客户/客户上传应用程序,如何创建相应的密钥链项并在“xcrun”命令期间提供它们? 您可以在运行 xcrun 之前创建一个 ad-hoc 密钥,并在上传完成后丢弃它security add-generic-password -s Xcode:itunesconnect.apple.com -a LOGIN -w PASSWORD -U
xcrun -sdk iphoneos Validation -online -upload -verbose "path to ipa"
security delete-generic-password -s Xcode:itunesconnect.apple.com -a LOGIN
这是真的吗?我正在尝试通过命令行发送已构建好的 IPA 文件,但它返回了一些错误。
@MR.GEWA 你没有迈出第一步
警告任何人在一段时间后发现此建议,就像我在 2014 年 9 月所做的那样,mobilecraft.tumblr.com/post/23486904489/… 声称截至 2013 年 2 月“Apple 终于承认这些工具没有记录并表示它们不受支持用于命令行。”我还没有验证他们的说法。【参考方案2】:
之前的回复不再适用于新的 iTunes Connect。
您需要使用iTunes Transporter
将您的应用上传到 iTunes Connect。在GitHub上查看deliver的源代码:https://github.com/fastlane/fastlane/blob/master/fastlane_core/lib/fastlane_core/itunes_transporter.rb
您可以使用deliver 自动将新更新上传到 App Store:https://fastlane.tools/deliver
【讨论】:
【参考方案3】:上传 IPA 到 TESTFLIGHT
altool --upload-app -f "$APP_NAME.ipa" -u $APP_STORE_USERNAME -p $APP_STORE_PASSWORD
要在终端的任何位置使用
altool
,您可以将其添加到您的 通过在终端中键入 PATH 环境变量:Xcode 11 之前的版本:
MacBook-Pro:~ denis$ export PATH=$PATH:/Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/ MacBook-Pro:~ denis$ source ~/.bash_profile
来自 Xcode 11 及更高版本:(
altool
已更改位置)MacBook-Pro:~ denis$ export PATH=$PATH:/Applications/Xcode.app/Contents/Developer/usr/bin/ MacBook-Pro:~ denis$ source ~/.bash_profile
【讨论】:
altool 现在位于 /Applications/Xcode.app//Contents/Developer/usr/bin/altool @EionRobb 感谢您帮助更新这个旧答案 :) 自 Xcode 11 起,我只是把新位置的信息放在了【参考方案4】:你应该使用应用加载工具:altool --upload-app -f file -u username [-p password] [--output-format xml]
如中所述: https://help.apple.com/itc/apploader/#/apdATD1E53-D1E1A1303-D1E53A1126
【讨论】:
【参考方案5】:如果需要,您可以尝试直接使用Transporter 来摆脱快车道。它也可以安装在任何操作系统上,因此理论上可以基于容器(docker)上传。
设置完成后,请尝试以下操作:
iTMSTransporter -m upload -u <usename_email> -p <password> -k 10000 -itc_provider <provider_id> -assetFile MyApp.ipa -assetDescription AppStoreInfo.plist
提供者 ID 是您需要使用传输器的 -m provider
命令查找的东西
【讨论】:
以上是关于如何通过命令行将 iOS 应用上传到应用商店的主要内容,如果未能解决你的问题,请参考以下文章
使用命令行上传到 iTunesConnect 时如何指定应用程序 ID
将 Apple Watch 上传到应用商店(iPhone 应用已上传)