使用 Flutter 开发并上架 App Store 全流程指南


一、开发准备阶段
  1. 注册苹果开发者账号

    • 费用:个人/公司账号 99 美元/年,企业账号 299 美元/年。
    • 步骤:访问 Apple Developer 注册,需提供身份和支付信息。
    • 注意
      • 企业账号需提供 DUNS 编码,审核较严格。
      • 确保账号能正常支付,避免续费失败(参考前文支付问题解决)。
  2. 环境配置

    • 安装 Flutter
      git clone https://github.com/flutter/flutter.git
      export PATH="$PATH:`pwd`/flutter/bin"
      flutter doctor
      
    • 安装 Xcode:通过 Mac App Store 安装最新版,确保命令行工具已装:
      xcode-select --install
      
  3. 创建 Flutter 项目

    flutter create my_app
    cd my_app
    
  4. 配置 iOS 项目基本信息

    • 修改 Bundle ID:在 ios/Runner.xcodeproj 中设置唯一标识(如 com.yourcompany.appname)。
    • 设置版本号:在 pubspec.yaml 和 Xcode 的 Info.plist 中同步版本(如 1.0.0)。
    • 应用图标:替换 ios/Runner/Assets.xcassets/AppIcon.appiconset 中的图片,尺寸需符合 Apple 要求

二、开发阶段
  1. 跨平台代码编写

    • UI 适配:使用 MediaQueryLayoutBuilder 处理不同屏幕尺寸。
    • 平台判断:通过 Platform.isIOS 实现平台特定逻辑。
    • 依赖管理:在 pubspec.yaml 中添加插件(如 http, provider),运行 flutter pub get
  2. iOS 特定配置

    • 权限声明:在 ios/Runner/Info.plist 中添加权限描述(如相机、定位):
      <key>NSCameraUsageDescription</key>
      <string>需要相机功能用于拍摄照片</string>
      
    • 后台模式:如需后台运行,在 Xcode 的 Signing & Capabilities 中启用对应能力(如位置更新)。
  3. 第三方 SDK 集成

    • CocoaPods:在 ios/Podfile 中添加依赖(如 Firebase):
      pod 'Firebase/Analytics'
      
    • 运行
      cd ios
      pod install
      

三、测试阶段
  1. 本地测试

    • 模拟器测试
      flutter run -d ios
      
    • 真机调试:连接 iPhone,在 Xcode 中选择设备运行。
  2. 单元与集成测试

    • 单元测试:在 test/ 目录下编写测试用例,运行:
      flutter test
      
    • 集成测试:使用 integration_test 包,模拟用户操作流程。
  3. TestFlight 测试

    • 构建 IPA:通过 Xcode (Product > Archive) 生成归档文件。
    • 上传到 App Store Connect:在 Organizer 中提交构建版本。
    • 添加测试人员:在 App Store Connect 中邀请内部/外部测试员。

四、打包与签名
  1. 创建证书和配置文件

    • App Store 证书:在 Apple Developer 生成 iOS Distribution 证书。
    • 创建 Provisioning Profile:选择 App Store 类型,关联 Bundle ID 和证书。
  2. 配置 Xcode 签名

    • 打开 ios/Runner.xcworkspace,选择 Runner > Signing & Capabilities
    • 勾选 Automatically manage signing,选择 Team 和 Provisioning Profile。
  3. 生成 IPA 文件

    • 步骤
      • Xcode 中选择 Product > Archive
      • Organizer 中选择 Distribute App,导出为 App Store Connect 格式。

五、提交到 App Store Connect
  1. 创建应用记录

    • 登录 App Store Connect,点击 我的 App > + 新建应用。
    • 填写基本信息:
      • 名称:需唯一且符合审核规范。
      • 隐私政策网址:必须提供(可托管在 GitHub Pages)。
  2. 填写元数据

    • 截图:上传 6.5 英寸(iPhone 14 Pro Max)和 12.9 英寸(iPad Pro)截图,格式为 PNG 或 JPEG。
    • 描述:突出核心功能,避免关键词堆砌。
    • 关键词:用逗号分隔,覆盖用户搜索习惯。
  3. 提交审核

    • 构建版本 中选择已上传的 IPA 文件。
    • 回答苹果的出口合规和加密协议问题(通常选“否”)。

六、审核与上架
  1. 处理审核反馈

    • 常见拒绝原因
      • 崩溃或卡顿:需提供复现步骤和修复证明。
      • 元数据问题:截图需真实,不可含占位文本。
      • 支付问题:虚拟商品必须使用 IAP,不得引导第三方支付。
    • 重新提交:修改后通过 Resolution Center 回复审核团队。
  2. 应用上架

    • 审核通过后,在 App Store Connect 中设置发布时间(立即或定时)。
    • 监控用户评价和崩溃报告(推荐集成 Firebase Crashlytics)。
  3. 后续更新

    • 使用 flutter build ipa 生成新版本,重复打包和提交流程。
    • 通过 TestFlight 提前测试新功能。

七、关键注意事项
  1. 合规性

    • 遵守 App Store 审核指南,尤其是隐私和数据收集条款。
    • 若使用广告标识符(IDFA),需启用 App Tracking Transparency 弹窗。
  2. 性能优化

    • 使用 flutter build apk --analyze-sizeflutter build ios --analyze-size 分析体积。
    • 压缩图片,移除未使用的代码和资源。
  3. 自动化工具

    • Fastlane:自动化打包、截图生成和提交流程。
      lane :release do
        increment_build_number
        build_app(workspace: "Runner.xcworkspace", scheme: "Runner")
        upload_to_app_store
      end
      
  4. 监控与支持

    • 集成 sentry_flutter 监控崩溃和错误日志。
    • 在 App Store Connect 中及时回复用户评论。

通过以上步骤,你可以系统性地完成从开发到上架的全流程。遇到问题时,优先查阅 Flutter 文档Apple 开发者资源,或通过社区(如 Stack Overflow)寻求帮助。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐