背景
苹果要求自 2023 年 4 月 25 日起,所有提交至 App Store 的 App 都必须使用 Xcode 14.1 或更高版本进行构建,详情请参考 苹果官方声明。并且 Xcode 14 不再支持构建 armv7、armv7s 和 i386 架构的 iOS 项目,不再支持构建 iOS 11 之前的系统,详情可参考 Xcode 14 发布说明。针对全新的工具链,App 需要进行相关的适配。
现状
目前 mPaaS 已在 10.2.3.19 及以上的基线版本中完成对 Xcode 14 版本下的适配和测试工作,使用 10.1.68 基线或更早的基线请升级到 10.2.3 最新版本。
升级基线
根据您当前的基线版本,选择对应的升级方式。
当前基线为 10.1.68 主基线
请先参考 mPaaS 10.2.3 的使用以及适配 iOS 16 升级到 10.2.3 最新基线并进行相关适配。
当前基线为定制基线
如果您使用的是定制基线,请搜索群号 41708565 加入钉钉群或提交工单咨询对应的售后及技术支持人员,是否可切换到 10.2.3 基线。
升级方式
基于 Extension 插件升级
使用 mPaaS Xcode Extension 插件升级 SDK/组件,您可以选择以下两种方式:
您需要根据自身情况选择升级方式。如果您:
已经使用 Extension 插件管理组件依赖,但当前使用的基线版本低于 10.2.3,可使用 升级基线 功能升级至 10.2.3 版本。
说明当前使用的基线版本可在插件的 基线升级 中查看。
已经使用插件管理组件依赖,且当前使用的基线版本为 10.2.3,可使用 更新产品集 功能升级所使用到的模块。
未使用插件管理组件依赖。可按照以下步骤进行升级:
使用 编辑模块 功能选择 10.2.3 版本基线并添加所需模块。
基于 CocoaPods 升级
按照以下步骤,即可安装 10.2.3 版本的最新 SDK:
首先确保 Podfile 中 mPaaS 组件的版本号为 10.2.3。
执行
pod mpaas update 10.2.3
。如果提示命令报错,需通过
pod mpaas update --all
命令先更新插件,再重新执行。执行
pod install
。
升级注意事项
通过 Extension 插件 升级到 10.2.3.19 及以上的基线版本时,如添加了威胁感知、国密等模块,如下图所示:
则主工程中需要手动在
Building Setting
中的Other link flag
添加系统库resolv
。否则会报如下错误:
目前暂不支持 M1、M2 芯片的 Mac 机器直接使用模拟器运行,如要使用模拟器可添加相关配置项,在测试
Build Settings
中设置Excluded Architectures
,并添加arm64
。
API 变更
本次 Xcode14 适配暂无接口使用的变化。如果使用的是 10.1.68 或相关定制基线,请先参考 mPaaS 10.2.3 的使用以及适配 iOS 16 升级到 10.2.3 最新基线并进行相关适配。
适配 Xcode 14 更新的库清单
移动网关
移动调度
数据同步
消息推送
国密 SSL
多媒体
小程序
移动安全键盘
部分内部依赖组件
未涉及代码适配的相关组件均使用 Xcode 14 重新构建,所有库均已更新。
测试验证范围
由于苹果工具链的升级为黑盒操作,经常会带来稳定性等问题,在完成 App 对 Xcode 14 的适配后,建议对 App 进行全面回归测试。