升级Xcode 16后出现CoreGraphics.CGFloat编译错误求助
问题背景
Mac升级至15.0(Sequoia)后,被迫同步升级Xcode到16版本,此后项目构建时持续报错。已尝试以下操作但未解决:
- 排除arm64架构
- 删除并重新安装
node_modules文件夹 - 删除Pods文件夹及
Podfile.lock后执行pod install - 清理Derived Data文件夹
- 清理构建产物后重新构建
- 添加配置
config.build_settings["ONLY_ACTIVE_ARCH"] = "NO"
建议解决方案
1. 核对Xcode架构配置细节
进入项目Build Settings,定位到Architectures相关选项:
- 确认
Architectures设置为Standard Architectures (arm64, x86_64)(跨平台项目需保证覆盖双架构) - 检查
Excluded Architectures的Debug/Release分区配置,避免误排除当前设备所需架构
2. 升级依赖库至兼容版本
Xcode 16对旧依赖的兼容性有所调整,需同步更新依赖:
- 针对CocoaPods依赖:执行
pod outdated查看过时库,逐个升级到支持Xcode 16的版本(执行pod update [库名]),全部更新后重新执行pod install - 针对npm包:执行
npm outdated排查过时包,升级至兼容最新Node版本的版本(建议用nvm管理Node版本,确保与Xcode 16适配)
3. 调整Build Phases执行顺序
部分项目因脚本执行顺序异常导致构建失败:
- 进入
Build Phases,确认Run Script(如依赖安装脚本)在编译阶段前执行 - 若使用CocoaPods,确保
[CP] Embed Pods Frameworks和[CP] Copy Pods Resources处于正确的执行阶段
4. 验证签名与证书配置
Xcode 16对签名规则要求更严格:
- 打开
Signing & Capabilities,确认开发者证书有效、团队选择正确 - 临时关闭
Automatically manage signing,手动配置签名后再重新开启自动管理
5. 适配Deployment Target版本
Xcode 16最低支持iOS 17.0/macOS 14.0,若项目目标版本过低:
- 在Build Settings中找到
Deployment Target,将版本调高至符合Xcode要求的范围,再重新构建
内容的提问来源于stack exchange,提问作者Kaique Cardoso
相关产品推荐
相关产品推荐

