You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xcode从14.0升级到16.3后SwiftUI项目启动失败求助

Xcode从14.0升级到16.3后SwiftUI项目启动失败求助

兄弟,我之前升级Xcode的时候也踩过类似的坑!先帮你理清楚问题来龙去脉,再给你几个可行的解决办法:

问题背景

  • 项目构建成功,但App启动直接崩溃
  • iOS部署目标设置为15.0,测试设备运行iOS17.0
  • C++语言标准配置的是GNU++20

报错信息

dyld[1669]: Symbol not found: ___cxa_current_primary_exception
Referenced from: <9DF2FEE8-CDED-3A0C-8FFE-8C9FF289257D> /private/var/containers/Bundle/Application/434A154D-E917-4263-901D-B6E06E28DEF1/myapp.app/myapp.debug.dylib
Expected in: /usr/lib/libc++

问题原因

这个报错的核心是GNU20标准的C库符号和Xcode16.3适配iOS17的libc++动态库不兼容。___cxa_current_primary_exception是C异常处理相关的符号,GNU扩展版的标准库和苹果原生的libc在这个符号的实现上有差异,导致动态链接时找不到对应符号。

解决办法

  • 优先尝试:切换到苹果原生C++标准
    打开项目设置,找到对应Target的Build Settings,搜索「C++ Language Dialect」,把选项从GNU++20改成C++20(不带GNU前缀的版本)。苹果原生的C标准和系统libc兼容性更好,大概率能直接解决问题。

  • 备选方案:升级部署目标版本
    如果你的项目必须依赖GNU20的特性,可以尝试把iOS Deployment Target提升到16.0及以上。高版本iOS系统的libc库已经包含了更多GNU兼容的符号,可能能匹配上。

  • 辅助操作:清理构建缓存
    先按Cmd+Shift+K清理Xcode的构建文件夹,再重启Xcode重新构建项目。有时候升级Xcode后残留的旧缓存会导致奇怪的链接问题,清理后往往能解决。

备注:内容来源于stack exchange,提问作者jifei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 17:08:18