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 专用密码是否正确
相关推荐
张不才15 分钟前
一个静默吞数据的时间戳陷阱
后端
李少兄16 分钟前
从原理到实战:Spring IoC/DI 核心知识体系与高频面试题全解
java·后端·spring
ServBay19 分钟前
ServBay 1.30.0 更新:双平台引入 MCP 服务,AI 编程助手成为全栈本地运维
后端·ai编程
张不才40 分钟前
分页查出来的数据总少几条?可能是 MyBatis 后置过滤的坑
后端
Windeal41 分钟前
Agent ToolCall 循环怎么定制?PI Extension 与 DeepAgents Middleware 两条岔路深度对比
后端·openai
鱼人43 分钟前
targets 包实战:R 语言数据分析流水线自动化管理方案
后端
时雨__44 分钟前
一文搞懂 Python 并发:GIL、多线程/多进程/协程怎么选
后端
Anson4321 小时前
Dubbo架构深度分析
后端
站大爷IP1 小时前
global和nonlocal到底有什么区别?
后端
二月龙1 小时前
从零开发 Shiny 交互式数据看板:本地运行到网页上线完整路径
后端