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 专用密码是否正确
相关推荐
GetcharZp1 小时前
只需 10 分钟,轻松实现异地组网!Netmaker 保姆级部署教程来了
后端
前端兰博2 小时前
03-Spring Boot
后端
前端兰博2 小时前
01-Java开发基础语言
后端
前端兰博2 小时前
02-Servlet、JDBC、Maven、Mybatis
后端
咖啡八杯3 小时前
GoF设计模式——模板方法模式
java·后端·spring·设计模式
码事漫谈3 小时前
Loop 正在排斥人为操作
后端
爱勇宝3 小时前
办公资料反复修改、补传、交接混乱,我做了个桌面工具来解决这件事
前端·后端·程序员
庄周de蝴蝶4 小时前
梅开二度,这次拿下系统分析师
后端·程序员
CHB5 小时前
uni-app x 蒸汽模式 iOS版 性能测试基准报告 Benchmark
ios·uni-app·swiftui
美狐美颜SDK开放平台5 小时前
Android/iOS直播APP平台开发中的视频美颜SDK优化技巧
android·ios·音视频·美颜sdk·第三方美颜sdk