iOS打包流程

发布于:2025-07-10 ⋅ 阅读:(15) ⋅ 点赞:(0)


前言

iOS打包流程的详细补充,涵盖App Store上架、TestFlight测试和Ad Hoc分发全流程,包含具体操作步骤和注意事项:


三、详细打包流程全解析

1. 打包前准备工作

(1) 开发者账号配置
付费开发者账号
Certificates
Identifiers
Devices
Profiles
Apple Distribution证书
App Store描述文件
Ad Hoc描述文件
(2) Flutter项目配置
  • 更新pubspec.yaml版本号:version: 1.0.0+1
  • 执行清理命令:
  flutter clean
  flutter pub get
(3) Xcode关键设置
  1. Bundle Identifiercom.yourcompany.appname(唯一标识)
  2. Signing & Capabilities
    • 取消勾选Automatically manage signing
    • 手动选择Distribution证书
  3. Info.plist
    • 添加ITSAppUsesNonExemptEncryption = NO
    • 完善权限描述(相机/位置等)

2. App Store上架全流程

(1) 生成发布包
flutter build ipa --release --export-options-plist=ExportOptions.plist
(2) 导出IPA文件
  1. 在Xcode Organizer中选择Distribute App
  2. 选择App Store Connect
  3. 勾选Upload your app's symbols...(崩溃分析)
(3) App Store Connect配置
步骤 位置 关键操作
1 我的App → +新建App 填SKU(如com.company.app)
2 价格与销售范围 设置价格区间
3 准备提交 → 构建版本 点击’+'添加IPA
4 App审核信息 填写测试账号
5 版本发布 选手动/自动发布
(4) 提交审核注意事项
  • 提供测试视频(审核加速)
  • 元数据需包含真实截图
  • 遵守《App Store审核指南》3.2.1条

3. TestFlight测试全流程

(1) 构建上传
sequenceDiagram
    Xcode->>App Store Connect: 上传IPA
    App Store Connect->>TestFlight: 自动同步
    TestFlight->>测试组: 分配构建版本
(2) 测试人员管理
  1. 内部测试(200人上限)
    • 开发者账号成员自动加入
    • 即时生效无需审核
  2. 外部测试(10000人上限)
    • 需填写测试信息
    • 首次版本需Apple审核(约24小时)
(3) 测试反馈收集
  • 在App Store Connect查看崩溃日志
  • 使用feedbackassistant.apple.com收集反馈

4. Ad Hoc分发专业方案

(1) 生成分发包
flutter build ipa --export-method ad-hoc

生成的IPA路径:build/ios/ipa/APPNAME.ipa

(2) 高效分发方案
方式 工具 特点
OTA分发 Diawi.com 扫码安装
MDM分发 Jamf/Mosyle 企业级管理
自建分发 nginx+plist 私有化部署
(3) UDID收集技巧
  1. 使用测试邀请工具(如:https://betafamily.com)
  2. 设备安装描述文件自动获取UDID
  3. 批量导出:Apple Configurator 2

5. 企业签名分发

(1) 特殊要求
  • $299/年企业账号
  • 需提供DUNS编号
  • 禁止公开下载
(2) 分发流程
  1. 导出.ipa选择Enterprise
  2. 配置manifest.plist:
    <plist version="1.0">
    <dict>
        <key>items</key>
        <array>
            <dict>
                <key>assets</key>
                <array>
                    <dict>
                        <key>kind</key>
                        <string>software-package</string>
                        <key>url</key>
                        <string>https://yourdomain.com/app.ipa</string>
                    </dict>
                </array>
            </dict>
        </array>
    </dict>
    </plist>
    
  3. 安装链接格式:
    itms-services://?action=download-manifest&url=https://yourdomain.com/manifest.plist

四、疑难问题解决方案

常见错误处理表

错误代码 原因 解决方案
ITMS-90023 缺少图标 添加1024x1024 App Store图标
ITMS-90683 无效Bundle 检查CFBundleExecutable
ITMS-90704 废弃UIWebView 替换为WKWebView
90186 签名冲突 吊销旧证书重建

提效技巧

  1. 自动打包脚本
#!/bin/zsh
flutter build ipa --export-method app-store
xcrun altool --upload-app -f build/ios/ipa/MyApp.ipa --username "your@email.com" --password "app-specific-password"
  1. 快速审核申请
    • 登录:https://developer.apple.com/contact/app-store/?topic=expedite
    • 选择"Request Expedited Review"

五、最佳实践总结

  1. 证书管理黄金法则

    • 开发证书:仅用于调试
    • 分发证书:专人保管
    • 每年更新:提前30天操作
  2. 发布检查清单

    • 移除所有调试代码
    • 关闭开发者模式(WidgetsApp.debugShowCheckedModeBanner = false
    • 测试离线场景
    • 验证64位支持
  3. 版本策略建议

    title 版本分布建议
    “生产环境” : 40
    “TestFlight” : 30
    “开发版本” : 30

通过以上完整流程,可实现从开发到分发的全链路管理,满足不同场景的iOS应用发布需求。实际部署时推荐使用CI/CD工具(如Codemagic/Fastlane)自动化流程。


网站公告

今日签到

点亮在社区的每一天
去签到