背景
苹果要求自 2024 年 4 月 29 日起,所有提交至 App Store 的 App 都必须使用 Xcode 15 或更高版本构建,详情请参考 苹果官方声明,并且 Xcode 15 不再支持构建 iOS 12 之前的系统,详情可参考 Xcode 15 发布说明。
苹果宣布自 2024 年 5 月 1 日起,App 代码中如使用到苹果官方所列的 API 列表 中的 API,需要在 App 的隐私清单列表中声明相关原因,如使用到苹果官方所列的 三方 SDK 列表 中的 SDK,三方 SDK 需要提供相应隐私清单配置,才能将全新 App 或新版本 App 上传到 App Store Connect,详情请参考 苹果官方声明。
现状
目前 mPaaS 已在 10.2.3.40 及以上的基线版本中完成对 Xcode 15 版本下的适配和测试工作,使用 10.1.68 基线(已废弃)或更早的基线请升级到 10.2.3 最新版本,且不再支持 iOS 12 之前的系统。
升级基线
根据您当前的基线版本,选择对应的升级方式。
当前基线为 10.2.3 主基线
请先参考 mPaaS 10.2.3 的使用以及适配 iOS 17 升级到 10.2.3 最新基线并进行相关适配。
当前基线为定制基线
如果您使用的是定制基线,请搜索群号 41708565 加入钉钉群或提交工单咨询对应的售后及技术支持人员,是否可切换到 10.2.3 基线。
升级方式
基于 Extension 插件升级
使用 mPaaS Xcode Extension 插件升级 SDK/组件,您可以选择以下两种方式:
您需要根据自身情况选择升级方式。如果您:
已经使用 Extension 插件管理组件依赖,但当前使用的基线版本低于 10.2.3,可使用 使用 mPaaS Xcode Extension 功能升级至 10.2.3 版本。
说明当前使用的基线版本可在插件的 基线升级 中查看。
已经使用插件管理组件依赖,且当前使用的基线版本为 10.2.3,可使用 使用 mPaaS Xcode Extension 功能升级所使用到的模块。
未使用插件管理组件依赖。可按照以下步骤进行升级:
使用 使用 mPaaS Xcode Extension 功能选择 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.30 及以上的基线版本时,如添加了威胁感知、国密等模块,如下图所示:
在主工程中需要手动在 Building Setting 中的 Other link flag 里添加系统库 resolv。
否则会出现如下报错:
API 变更
本次 Xcode15 适配暂无接口使用的变化。
适配 Xcode 15 更新的库清单
移动网关
移动调度
数据同步
消息推送
国密
多媒体
小程序
离线包
安全键盘
部分内部依赖组件
测试验证范围
由于苹果工具链的升级为黑盒操作,经常会带来稳定性等问题,在完成 App 对 Xcode 15 的适配后,建议对 App 进行全面回归测试。
且由于 Xcode 15 打包的安装包在 iOS 17 及之后的 URL 解析从 RFC1738/1808 更新为 RFC 3986 可能会导致 URL 相关解析异常,如使用到 URLWithString和InitWithString
等 API,请进行相关验证和适配,详情请参考 苹果官方说明。