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 专用密码是否正确
相关推荐
小Ti客栈8 小时前
Spring Boot 集成 Springdoc-OpenAPI 与 Knife4j实现接口文档与可视化调试
java·spring boot·后端
Ai拆代码的曹操9 小时前
Spring 事务 REQUIRES_NEW 嵌套调用:连接池翻倍的秘密
java·后端·spring
库奇噜啦呼10 小时前
【iOS】NSOperation与NSOperationQueue
macos·ios·cocoa
IT_陈寒11 小时前
SpringBoot这个分页坑,我踩了三天才爬出来
前端·人工智能·后端
颜酱11 小时前
05 | 召回前置准备:根据业务数据库生成各数据库(读取配置阶段)
前端·人工智能·后端
Wang's Blog11 小时前
Go-Zero项目开发24: 基于Bitmap实现群聊消息已读未读
开发语言·后端·golang
Conan在掘金12 小时前
鸿蒙报错速查:struct 里嵌 namespace 声明就炸,根因 + 真解法
后端
东方小月12 小时前
从零开发一个 Coding Agent(三):EventStream 事件流通道设计与实现
前端·人工智能·后端
二流小码农12 小时前
鸿蒙开发:实现文本渐变效果
android·ios·harmonyos
卫子miao12 小时前
如何评价当前大语言模型的记忆机制?
后端·架构