使用 Flutter 开发并上架 App Store 全流程指南
通过以上步骤,你可以系统性地完成从开发到上架的全流程。遇到问题时,优先查阅。,或通过社区(如 Stack Overflow)寻求帮助。我的 App > +
·
使用 Flutter 开发并上架 App Store 全流程指南
一、开发准备阶段
-
注册苹果开发者账号
- 费用:个人/公司账号 99 美元/年,企业账号 299 美元/年。
- 步骤:访问 Apple Developer 注册,需提供身份和支付信息。
- 注意:
- 企业账号需提供 DUNS 编码,审核较严格。
- 确保账号能正常支付,避免续费失败(参考前文支付问题解决)。
-
环境配置
- 安装 Flutter:
git clone https://github.com/flutter/flutter.git export PATH="$PATH:`pwd`/flutter/bin" flutter doctor - 安装 Xcode:通过 Mac App Store 安装最新版,确保命令行工具已装:
xcode-select --install
- 安装 Flutter:
-
创建 Flutter 项目
flutter create my_app cd my_app -
配置 iOS 项目基本信息
- 修改 Bundle ID:在
ios/Runner.xcodeproj中设置唯一标识(如com.yourcompany.appname)。 - 设置版本号:在
pubspec.yaml和 Xcode 的Info.plist中同步版本(如1.0.0)。 - 应用图标:替换
ios/Runner/Assets.xcassets/AppIcon.appiconset中的图片,尺寸需符合 Apple 要求。
- 修改 Bundle ID:在
二、开发阶段
-
跨平台代码编写
- UI 适配:使用
MediaQuery和LayoutBuilder处理不同屏幕尺寸。 - 平台判断:通过
Platform.isIOS实现平台特定逻辑。 - 依赖管理:在
pubspec.yaml中添加插件(如http,provider),运行flutter pub get。
- UI 适配:使用
-
iOS 特定配置
- 权限声明:在
ios/Runner/Info.plist中添加权限描述(如相机、定位):<key>NSCameraUsageDescription</key> <string>需要相机功能用于拍摄照片</string> - 后台模式:如需后台运行,在 Xcode 的
Signing & Capabilities中启用对应能力(如位置更新)。
- 权限声明:在
-
第三方 SDK 集成
- CocoaPods:在
ios/Podfile中添加依赖(如 Firebase):pod 'Firebase/Analytics' - 运行:
cd ios pod install
- CocoaPods:在
三、测试阶段
-
本地测试
- 模拟器测试:
flutter run -d ios - 真机调试:连接 iPhone,在 Xcode 中选择设备运行。
- 模拟器测试:
-
单元与集成测试
- 单元测试:在
test/目录下编写测试用例,运行:flutter test - 集成测试:使用
integration_test包,模拟用户操作流程。
- 单元测试:在
-
TestFlight 测试
- 构建 IPA:通过 Xcode (
Product > Archive) 生成归档文件。 - 上传到 App Store Connect:在
Organizer中提交构建版本。 - 添加测试人员:在 App Store Connect 中邀请内部/外部测试员。
- 构建 IPA:通过 Xcode (
四、打包与签名
-
创建证书和配置文件
- App Store 证书:在 Apple Developer 生成
iOS Distribution证书。 - 创建 Provisioning Profile:选择
App Store类型,关联 Bundle ID 和证书。
- App Store 证书:在 Apple Developer 生成
-
配置 Xcode 签名
- 打开
ios/Runner.xcworkspace,选择Runner > Signing & Capabilities。 - 勾选
Automatically manage signing,选择 Team 和 Provisioning Profile。
- 打开
-
生成 IPA 文件
- 步骤:
- Xcode 中选择
Product > Archive。 - 在
Organizer中选择Distribute App,导出为App Store Connect格式。
- Xcode 中选择
- 步骤:
五、提交到 App Store Connect
-
创建应用记录
- 登录 App Store Connect,点击
我的 App > +新建应用。 - 填写基本信息:
- 名称:需唯一且符合审核规范。
- 隐私政策网址:必须提供(可托管在 GitHub Pages)。
- 登录 App Store Connect,点击
-
填写元数据
- 截图:上传 6.5 英寸(iPhone 14 Pro Max)和 12.9 英寸(iPad Pro)截图,格式为 PNG 或 JPEG。
- 描述:突出核心功能,避免关键词堆砌。
- 关键词:用逗号分隔,覆盖用户搜索习惯。
-
提交审核
- 在
构建版本中选择已上传的 IPA 文件。 - 回答苹果的出口合规和加密协议问题(通常选“否”)。
- 在
六、审核与上架
-
处理审核反馈
- 常见拒绝原因:
- 崩溃或卡顿:需提供复现步骤和修复证明。
- 元数据问题:截图需真实,不可含占位文本。
- 支付问题:虚拟商品必须使用 IAP,不得引导第三方支付。
- 重新提交:修改后通过
Resolution Center回复审核团队。
- 常见拒绝原因:
-
应用上架
- 审核通过后,在 App Store Connect 中设置发布时间(立即或定时)。
- 监控用户评价和崩溃报告(推荐集成 Firebase Crashlytics)。
-
后续更新
- 使用
flutter build ipa生成新版本,重复打包和提交流程。 - 通过 TestFlight 提前测试新功能。
- 使用
七、关键注意事项
-
合规性
- 遵守 App Store 审核指南,尤其是隐私和数据收集条款。
- 若使用广告标识符(IDFA),需启用
App Tracking Transparency弹窗。
-
性能优化
- 使用
flutter build apk --analyze-size或flutter build ios --analyze-size分析体积。 - 压缩图片,移除未使用的代码和资源。
- 使用
-
自动化工具
- Fastlane:自动化打包、截图生成和提交流程。
lane :release do increment_build_number build_app(workspace: "Runner.xcworkspace", scheme: "Runner") upload_to_app_store end
- Fastlane:自动化打包、截图生成和提交流程。
-
监控与支持
- 集成
sentry_flutter监控崩溃和错误日志。 - 在 App Store Connect 中及时回复用户评论。
- 集成
通过以上步骤,你可以系统性地完成从开发到上架的全流程。遇到问题时,优先查阅 Flutter 文档 和 Apple 开发者资源,或通过社区(如 Stack Overflow)寻求帮助。
更多推荐
所有评论(0)