iOS 构建配置与 AdHoc 打包说明

iOS 构建配置与 AdHoc 打包说明

1. 背景

在 iOS 项目中,通常需要支持 多个环境的构建和分发,比如:

  • 开发环境 (Debug) → 本地调试
  • 内测环境 (AdHoc) → 提供 QA / 产品经理测试
  • 预发布环境 (AdHoc_Release) → 和正式版配置一致,但通过 AdHoc 分发
  • 正式环境 (Release) → 上架 App Store

为了方便 CI/CD 和团队协作,我们在项目中自定义了 AdHocAdHoc_Release 配置。


2. 各构建配置的区别

配置名称 用途 证书/Provisioning Profile 典型分发方式 日志 & 调试 优化
Debug 本地开发调试 开发证书 (Development) Xcode 直接运行 ✅ 开启日志 无优化
AdHoc 内测分发 AdHoc 证书 绑定 UDID,蒲公英/企业分发 ✅ 可保留少量日志 接近 Release
AdHoc_Release 预发布(灰度) AdHoc 证书 绑定 UDID,蒲公英 ❌ 关闭日志 与 Release 相同
Release 正式上架 App Store App Store 发行证书 App Store ❌ 关闭日志 最大优化

3. Xcode Archive 默认使用哪个配置?

  • 默认情况下,Product → Archive 使用 当前 Scheme 的 Archive 配置
  • 通常是 Release ,可以在
    Product → Scheme → Edit Scheme → Archive → Build Configuration
    修改为 AdHocAdHoc_Release

命令行可直接指定:

bash 复制代码
xcodebuild archive \
  -workspace MyApp.xcworkspace \
  -scheme MyApp \
  -configuration AdHoc \
  -archivePath build/MyApp-AdHoc.xcarchive

AdHoc 包的特殊要求和实现方案

为了方便测试人员区分 内测包正式包 ,我们为 AdHoc 包添加 带"开发"角标的 App Icon


✅ 实现方案

1. 在项目中添加两个 AppIcon 集合
  • AppIcon → 正式版 icon
  • AppIcon-Dev → 内测版 icon(在 icon 上加"开发"水印/角标)

Xcode 中结构示例:

Assets.xcassets/

├── AppIcon.appiconset # 正式版

└── AppIcon-Dev.appiconset # 内测版(带开发角标)
AppIcon-Dev 里的每个 PNG 带有角标,比如右上角写"开发版"。


2. 在 Build Settings 中区分配置使用的 Icon 名称
  1. 进入 TARGETS → Build Settings → Packaging → Asset Catalog App Icon Set Name
  2. 为不同的构建配置指定不同的 icon 集合:
  • ReleaseAppIcon
  • AdHoc / DebugAppIcon-Dev

可以用 .xcconfig 管理,示例:

xcconfig 复制代码
// Debug.xcconfig & AdHoc.xcconfig
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon-Dev

// Release.xcconfig & AdHoc_Release.xcconfig
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon
  1. 在 Scheme 或 CI/CD 里指定配置
    • 内测分发(AdHoc)

    复制代码
     xcodebuild archive \

    -scheme MyApp
    -configuration AdHoc
    -archivePath build/MyApp-AdHoc.xcarchive

生成的 IPA 会自动使用 AppIcon-Dev

复制代码
•	正式发布(Release)

	xcodebuild archive \
  -scheme MyApp \
  -configuration Release \
  -archivePath build/MyApp-Release.xcarchive

✅ 最终效果

• AdHoc 内测包

• 安装后桌面 icon 右上角有 "开发"标识

• 方便测试人员快速区分内测和正式版

• Release 正式包

• 使用正常 icon,无任何角标

相关推荐
tangweiguo0305198714 小时前
SwiftUI布局完全指南:从入门到精通
ios·swift
T1an-118 小时前
最右IOS岗一面
ios
坏小虎21 小时前
Expo 快速创建 Android/iOS 应用开发指南
android·ios·rn·expo
光影少年1 天前
Android和iOS原生开发的基础知识对RN开发的重要性,RN打包发布时原生端需要做哪些配置?
android·前端·react native·react.js·ios
北京自在科技1 天前
Find My 修复定位 BUG,AirTag 安全再升级
ios·findmy·airtag
Digitally1 天前
如何不用 USB 线将 iPhone 照片传到电脑?
ios·电脑·iphone
Sim14801 天前
iPhone将内置本地大模型,手机端AI实现0 token成本时代来临?
人工智能·ios·智能手机·iphone
Digitally2 天前
如何将 iPad 上的照片传输到 U 盘(4 种解决方案)
ios·ipad
报错小能手2 天前
ios开发方向——swift并发进阶核心 @MainActor 与 DispatchQueue.main 解析
开发语言·ios·swift
LcGero2 天前
Cocos Creator 业务与原生通信详解
android·ios·cocos creator·游戏开发·jsb