flutter —— iOS 的构建与分发

1. 清理旧构建

flutter clean
  • 删除 build/ 目录和缓存,确保从干净状态开始构建。

2. 生成依赖配置(不编译)

flutter build ios --config-only
  • 只生成 iOS 项目所需的配置文件(Podfile、Xcode 配置等)
  • 不会生成 App 或编译产物
  • 相当于准备依赖和 Xcode 工程

3. 编译 App 到设备/模拟器

flutter build ios
  • 生成:

    • build/ios/iphoneos/Runner.app → 用于真机安装
    • build/ios/iphonesimulator/Runner.app → 用于模拟器
  • 可直接拖入设备或使用 Xcode 安装到真机


4. 打包用于分发

flutter build ipa
  • 生成:

    • build/ios/archive/Runner.xcarchive → Xcode 归档文件
    • build/ios/ipa/Runner.ipa → 可上传到 App Store 的 IPA 包

4.1 分发方式

方案 1:Apple Transporter

方案 2:手动拷贝归档

ARCHIVE_DATE=$(date +%Y-%m-%d)
DEST_DIR=~/Library/Developer/Xcode/Archives/$ARCHIVE_DATE
mkdir -p "$DEST_DIR"
LATEST_ARCHIVE=$(ls -td build/ios/archive/*.xcarchive | head -1)
cp -R "$LATEST_ARCHIVE" "$DEST_DIR/"
  • 将最新归档拷贝到 Xcode 默认 Archives 目录
  • 可通过 Xcode Organizer 查看和上传

方案 3:使用 altool(Apple ID + 密码)

xcrun altool --upload-app -f build/ios/ipa/Runner.ipa -u <appleID> -p <app-specific-password>
  • 使用 Apple ID 和 App-specific password 上传 IPA
  • 适合命令行自动化脚本

方案 4:使用 altool API Key

xcrun altool --upload-app --type ios -f build/ios/ipa/*.ipa --apiKey your_api_key --apiIssuer your_issuer_id
  • 使用 Apple API Key 上传 IPA
  • 更安全,无需 Apple ID 密码
  • 适合 CI/CD 自动化

核心要点总结

  1. flutter clean → 清理旧构建
  2. flutter build ios --config-only → 生成依赖配置
  3. flutter build ios → 编译 App(设备/模拟器)
  4. flutter build ipa → 打包 IPA

posted on 2026-03-06 11:35  Lemo_wd  阅读(6)  评论(0)    收藏  举报

导航