iOS 多 Target 打包、UAT/生产测试与上架 App Store 全流程指南

一、前置环境准备

1. 软硬件版本要求

  1. MacOS 系统:更新至最新正式版本
  2. Xcode:更新 App Store 内最新稳定版本

2. 项目代码仓库

Git 仓库地址:内部私有 Git 地址 本地项目根目录示例:~/Developer/app/项目根目录

3. Xcode 工程打开路径

工程相对路径:app/项目目录/mobile/swift/Apps/CPMS

二、本地模拟器调试流程

  1. 使用 Xcode 打开 CPMS 工程文件
  2. Target 选择:CPMS-Team(UAT 测试环境)
  3. 模拟器设备选择:iPhone 17
  4. 点击左上角运行按钮编译启动 App
  5. 核心功能自测流程
    • 新建测试账号完成注册
    • 添加充电桩设备
    • 校验定时任务相关逻辑

三、版本号升级修改步骤

  1. Xcode 左侧选中项目根节点 CPMS
  2. 右侧切换对应环境 Target:
    • CPMS-Team:UAT 测试环境
    • CPMS-EU:欧洲正式环境
    • CPMS-SG:新加坡正式环境
    • CPMS-ME:中东正式环境
  3. 进入「Build Settings」→「Versioning」分类
  4. 修改 Marketing Version 版本号,根据迭代需求递增(示例:1.2.2)

四、证书与描述文件管理规范

1. 证书管理后台地址

苹果开发者后台证书管理页:https://developer.apple.com/account/resources/profiles/list

2. 证书维护要求

  • 定期查看证书有效期,防止打包签名失败
  • 证书过期时登录开发者后台重新生成、更新配置文件

3. Xcode 证书配置

Xcode 开启自动管理证书,无需手动导入配置文件。

五、TestFlight 打包脚本操作(Makefile)

1. 打包前置通用命令

终端切换至项目根目录,依次执行:

bash

复制代码
# 安装打包所需工具依赖
make install-tools
# 导入签名证书配置
make install-certs
# 指定系统默认Xcode路径,执行后输入电脑开机密码(输入无显示,输完回车)
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

2. UAT 测试环境打包

打包脚本:

bash

复制代码
make testflight-cpms-team

UAT TestFlight 后台:苹果开发者后台对应团队测试页面

3. 各区域正式环境灰度测试包

bash

复制代码
# 新加坡环境测试包
make testflight-cpms-sg
# 中东环境测试包
make testflight-cpms-me
# 欧洲环境测试包
make testflight-cpms-eu

六、App Store 正式上架流程

  1. 各区域 TestFlight 内测版本全量测试通过后,执行正式发布
  2. 上架后台入口:App Store Connect 对应应用分发页面
  3. 操作步骤:页面切换至「分发」标签页,根据页面指引完成版本提交、审核、上线操作

七、文档说明

  1. 本文档覆盖 iOS 客户端本地调试、TestFlight 灰度打包、AppStore 正式发布完整流程
  2. 打包逻辑由项目根目录 Makefile 统一封装,不同环境通过 Target + make 命令区分
  3. MacOS、Xcode 版本、有效签名证书为打包硬性前置条件,版本过低 / 证书失效会引发编译、签名报错
相关推荐
茶底世界之下3 小时前
为什么高精度透明图片上传到 Metal 时,必须把“拷贝像素”与“混合合成”分开
ios
老李IT笔记3 小时前
iOS 27 更新延迟只能给 1 到 90 天:两个参数怎么配,配错了会发生什么
ios·智能手机
Helix2504 小时前
移动端浏览器内核之争:iOS 为何强制使用 WebKit?
ios·safari·webkit·wkwebview·浏览器内核·blink·ios浏览器内核
传奇开心果编程16 小时前
【SwiftUI提高练中学】第13课 实时活动与灵动岛:ActivityKit 实战
学习·ui·ios·swiftui·swift
可乐鸡翅yeah_21 小时前
M3U8 防盗链 URL‑Token 签名,新手开发实操避坑
开发语言·javascript·ios·音视频·safari
传奇开心果编程1 天前
【SwiftUI入门练中学】第17课 通知与后台任务
学习·ui·ios·swiftui·swift
ii_best2 天前
按键精灵手机端开发安卓版实战:手写一个可最小化、可拖动的「运行日志悬浮窗」(附完整 源码 + 踩坑记录)
android·ios·智能手机·自动化·ai编程·按键精灵
美狐美颜SDK开放平台2 天前
Android与iOS直播APP美颜有什么区别?视频美颜SDK开发详解
android·ios·音视频·视频美颜sdk
传奇开心果编程3 天前
【SwiftUI入门练中学】第7课 动画与手势:让界面更灵动
学习·macos·ui·ios·swiftui·swift