appuploader-cli 命令行上传 IPA 到 App Store Connect upload CI 集成

appuploader-cli 命令行工具

appuploader-cli 是「开心上架」随主程序一起分发的命令行工具,用来在不依赖 Xcode(也不依赖 macOS)的情况下,把已签名的 IPA / PKG 包上传到 App Store Connect,或者本地分析 IPA 生成 App Store 所需的资源描述文件。能力上等同于 文件&提交 页面里的「提交 App Store」按钮------如果你更习惯在终端里操作,或者要把上传步骤接入自己的 CI/CD 流水线,可以直接使用它。

使用 upload / info 命令要求所用的 Apple ID 已经在 appuploader.net 完成授权;未授权或授权过期的账号会收到 license failed / license expired 提示,无法使用。可在 账号概览 中查看和激活「开心上架授权」。

在哪里找到它

appuploader-cli 随主程序一起打包,位于安装目录下的 runtime/ 目录中(不同平台文件名略有差异):

  • macOS:runtime/darwin/appuploader-cli
  • Windows:runtime/windows/appuploader-cli.exe

若想在系统终端里直接使用,进入该目录后即可运行,或把该目录加入你自己 shell 的 PATH

同目录下还有一个 appuploader-adi,用途不同,请勿混淆------它不是给用户手动调用的命令行工具。

upload ------ 上传到 App Store Connect

复制代码
appuploader upload -f <IPA/PKG 路径> -u <Apple ID> -p <App 专用密码> [--type ios]
参数 说明
-f, --file 要上传的 IPA / PKG 文件路径(必填)
-u, --username Apple ID 邮箱(必填)
-p, --password App 专用密码,格式 xxxx-xxxx-xxxx-xxxx(必填,不是 Apple ID 登录密码,获取方式见 文件&提交)
--type 包类型:ios | osx | appletvos | xros,默认 ios

示例:

bash 复制代码
appuploader upload -f Payload.ipa -u dev@example.com -p abcd-efgh-ijkl-mnop

上传过程中会实时打印进度和结果日志;出现失败时日志中会包含具体原因(如包重复、版本号冲突、签名不匹配等)。

info ------ 生成 App Store 资源描述文件

不上传,只在本地分析 IPA / PKG / ZIP 包,生成 App Store 构建投递所需的 AppStoreInfo.plist 资源描述文件。同样不依赖 Xcode,适合在 CI 里先行校验包内容,或需要这份 plist 用于其他上传工具时使用。

复制代码
appuploader info -u <Apple ID> <文件路径> [-o 输出文件] [--format xml|binary]
参数 说明
-u, --username 已在 appuploader.net 注册授权的 Apple ID 邮箱(必填)
-f, --file 文件路径,也可以直接作为位置参数传入
-o, --output 写入到指定文件;不填则输出到标准输出
--format 输出格式:xml(默认)或 binary
--deterministic 固定 UUID、进程号、时间戳等本会变化的字段,便于逐字节比对输出结果(用于测试/CI)

示例:

bash 复制代码
appuploader info -u dev@example.com Payload.ipa -o AppStoreInfo.plist

其他命令

  • appuploader help [命令] ------ 查看某条命令的帮助,等价于加 --help
  • appuploader completion [bash|zsh|fish|powershell] ------ 生成对应 shell 的自动补全脚本,日常使用可忽略。

常见问题

  • license failed / license expired:所用 Apple ID 未在 appuploader.net 完成授权或授权已过期,前往 账号概览 的「开心上架授权」激活或续期。
  • App 专用密码填错-p 需要的是 Apple 生成的 xxxx-xxxx-xxxx-xxxx 专用密码,不是登录密码,生成方式见 文件&提交。
  • 想用图形界面 :以上两个命令对应的能力,在网页版里分别是「文件&提交」页面的「提交 App Store」按钮(对应 upload);info 命令目前尚未在网页界面中提供入口,仅可通过命令行使用。
相关推荐
2501_9159214314 小时前
抓包鹰 Traceeagle 解除证书绑定,SSL Pinning 解除
网络·网络协议·网络安全·ios·adb·https·ssl
怪奇云呼军15 小时前
从声音特征到 CRM 回流:闪电智能 Voice Agent 沟通策略自适应系统 v1 实战
android·人工智能·python·音视频·语音识别
哦哦~92117 小时前
北理工|Composites Part‑A 综述:纤维‑增强复合材料传统成型与增材制造全解析
android·制造·复合材料·增材制造
一笑的小酒馆18 小时前
Android视频直播播放器简单封装
android
工会代表19 小时前
安卓手机搭建SOCKS5代理教程
android
雨白19 小时前
Android AOP 切面编程实战:优雅地处理全局断网拦截
android·架构
heimeiyingwang19 小时前
【CI/CD·落地篇】企业级 CI/CD 平台搭建路线图:从规划到落地
ci/cd
梦想的旅途220 小时前
企业微信销售自动化:线索分配与超时预警
小程序·自动化·企业微信
huluang21 小时前
专业级安卓现场取证利器:拍照取证(PaiZaoXue),补齐行业取证工具核心短板
android·数码相机