Flutter 如何自动上传 可以 IPA 把构建和上传分开处理

在 Flutter 项目上传 iOS 时,更好的方式是把它看作两个步骤:Flutter 负责生成 IPA 包,上传工具提交到 App Store Connect,而不是直接理解成"Flutter 一键上架"。 这样做之后,无论是 Windows、Linux,还是 Jenkins、GitLab CI,都能轻松接入上传流程。

生成 IPA

在 macOS 构建节点执行:

arduino 复制代码
flutter clean
flutter pub get
flutter build ipa

生成路径一般在"build/ios/ipa/",确认目录中存在 .ipa 文件。

准备上传账号

上传 App Store 需要:

  • Apple 开发者账号
  • App 专用密码
  • 已签名的 IPA

App 专用密码不是 Apple ID 登录密码,需要在 Apple ID 安全设置中创建。

使用 AppUploader CLI 上传

下载 AppUploader(开心上架)后,在 runtime 目录找到命令行工具。

Linux / macOS 下先执行"chmod +x appuploader_cli",上传命令:

diff 复制代码
./appuploader_cli upload \
-f build/ios/ipa/Runner.ipa \
-u user@example.com \
-p xxxx-xxxx-xxxx-xxxx \
--type ios

上传时工具会自动处理 metadata,包括 AppStoreInfo.plist,不需要手动生成。

接入 Jenkins 或 GitLab CI

示例脚本:

bash 复制代码
flutter clean
flutter pub get
flutter build ipa

./appuploader_cli upload \
-f build/ios/ipa/Runner.ipa \
-u "$APPLE_ID" \
-p "$APP_PASSWORD" \
--type ios

CI 中建议把:

复制代码
APPLE_ID
APP_PASSWORD

放到环境变量或凭据管理里,不要写死在脚本中。

上传后检查

进入"App Store Connect → TestFlight",如果构建没有出现,检查:

  • Build 号是否递增
  • Bundle ID 是否一致
  • IPA 是否使用 App Store 描述文件签名
  • App 专用密码是否正确
相关推荐
玉宇夕落8 小时前
背单词项目一:融会贯通:从零构建"单词大师"后台——Next.js + Supabase + Drizzle 全栈开发实战
后端
橙序员小站8 小时前
从 Demo 到生产:Agent Harness 如何把 AI 真正“接”进项目
后端·aigc·ai编程
她的男孩8 小时前
一个开源低代码框架的协作 SPI 是怎么设计的 ForgeAdmin 拆解 + 实战接入新平台
后端·算法·架构
蓝山6168 小时前
Python 字典(Dictionary)完全指南:从入门到实战
后端
foggyprojects8 小时前
在 DeepSeek Harness 里跑通 Foggy:从安装插件到第一次问数
后端
不甘先生8 小时前
Go 中 type、方法与指针接收者:从 str_name.Name() 看懂 Go 的类型系统
开发语言·后端·golang
摇滚侠10 小时前
《SpringBoot 3:入门与应用实战》第 14 章 打包与部署 Spring Boot 应用打包 阅读笔记 41
spring boot·笔记·后端
阿拉斯攀登12 小时前
MQ消息积压问题排查:消费卡顿、堆积、消费速度优化
后端
阿拉斯攀登12 小时前
无人售货机库存异步更新方案:解决高并发下单库存卡顿问题
后端
阿拉斯攀登12 小时前
无人售货机MQ消息丢失、重复消费、超时异常全套兜底方案
后端