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 专用密码是否正确
相关推荐
子兮曰5 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰5 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
爱勇宝5 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
胡写代码5 天前
别再前后端各写一套表单校验了
java·后端
大勇前进5 天前
原生 PHP 还是 Laravel?小项目到底要不要上框架
后端
yuzhi_liu5 天前
我用 LangGraph4j 实现 Multi-Agent Supervisor
后端
alsmile5 天前
Node-RED 之外,国产规则引擎的新方案:基于标准语法,Go 先行实现
后端·开源·go
大白805 天前
PHP 内存溢出排查思路:看懂报错日志,精准定位问题
后端
二月龙5 天前
PHP 接口返回统一响应封装,让前后端对接更省心
后端
盖伦发发5 天前
软件工程SOLID 五大设计原则
后端·软件工程