南京专业的网站设计团队,文章列表页wordpress,做家宴网站,wordpress的教程iOS 构建配置与 AdHoc 打包说明
1. 背景
在 iOS 项目中#xff0c;通常需要支持 多个环境的构建和分发#xff0c;比如#xff1a;
开发环境 (Debug) → 本地调试内测环境 (AdHoc) → 提供 QA / 产品经理测试预发布环境 (AdHoc_Release) → 和正式版配置一致#xff0c;但通…iOS 构建配置与 AdHoc 打包说明
1. 背景
在 iOS 项目中通常需要支持 多个环境的构建和分发比如
开发环境 (Debug) → 本地调试内测环境 (AdHoc) → 提供 QA / 产品经理测试预发布环境 (AdHoc_Release) → 和正式版配置一致但通过 AdHoc 分发正式环境 (Release) → 上架 App Store
为了方便 CI/CD 和团队协作我们在项目中自定义了 AdHoc 和 AdHoc_Release 配置。2. 各构建配置的区别配置名称用途证书/Provisioning Profile典型分发方式日志 调试优化Debug本地开发调试开发证书 (Development)Xcode 直接运行✅ 开启日志无优化AdHoc内测分发AdHoc 证书绑定 UDID蒲公英/企业分发✅ 可保留少量日志接近 ReleaseAdHoc_Release预发布灰度AdHoc 证书绑定 UDID蒲公英❌ 关闭日志与 Release 相同Release正式上架 App StoreApp Store 发行证书App Store❌ 关闭日志最大优化
3. Xcode Archive 默认使用哪个配置
默认情况下Product → Archive 使用 当前 Scheme 的 Archive 配置通常是 Release可以在
Product → Scheme → Edit Scheme → Archive → Build Configuration
修改为 AdHoc 或 AdHoc_Release
命令行可直接指定
xcodebuild archive \-workspace MyApp.xcworkspace \-scheme MyApp \-configuration AdHoc \-archivePath build/MyApp-AdHoc.xcarchiveAdHoc 包的特殊要求和实现方案
为了方便测试人员区分 内测包 和 正式包我们为 AdHoc 包添加 带“开发”角标的 App Icon。✅ 实现方案
1. 在项目中添加两个 AppIcon 集合
AppIcon → 正式版 iconAppIcon-Dev → 内测版 icon在 icon 上加“开发”水印/角标
Xcode 中结构示例
Assets.xcassets/
├── AppIcon.appiconset # 正式版
└── AppIcon-Dev.appiconset # 内测版带开发角标
AppIcon-Dev 里的每个 PNG 带有角标比如右上角写“开发版”。2. 在 Build Settings 中区分配置使用的 Icon 名称
进入 TARGETS → Build Settings → Packaging → Asset Catalog App Icon Set Name为不同的构建配置指定不同的 icon 集合
Release → AppIconAdHoc / Debug → AppIcon-Dev
可以用 .xcconfig 管理示例
// Debug.xcconfig AdHoc.xcconfig
ASSETCATALOG_COMPILER_APPICON_NAME AppIcon-Dev// Release.xcconfig AdHoc_Release.xcconfig
ASSETCATALOG_COMPILER_APPICON_NAME AppIcon在 Scheme 或 CI/CD 里指定配置
• 内测分发AdHocxcodebuild archive \-scheme MyApp \-configuration AdHoc \-archivePath build/MyApp-AdHoc.xcarchive生成的 IPA 会自动使用 AppIcon-Dev
• 正式发布Releasexcodebuild archive \-scheme MyApp \-configuration Release \-archivePath build/MyApp-Release.xcarchive✅ 最终效果
• AdHoc 内测包
• 安装后桌面 icon 右上角有 “开发”标识
• 方便测试人员快速区分内测和正式版
• Release 正式包
• 使用正常 icon无任何角标