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

iOS设备运行时Xcode报Foundation.Locale相关未定义符号错误求助

解决Xcode中Foundation.Locale相关的Undefined symbol错误

运行iOS项目时遇到以下Xcode错误:

Error (Xcode): Undefined symbol: nominal type descriptor for Foundation.Locale.LanguageCode
Error (Xcode): Undefined symbol: type metadata accessor for Foundation.Locale.Language
Error (Xcode): Undefined symbol: Foundation.Locale.language.getter : Foundation.Locale.Language
Error (Xcode): Undefined symbol: Foundation.Locale.Language.languageCode.getter : Foundation.Locale.LanguageCode?
Error (Xcode): Undefined symbol: Foundation.Locale.Region.identifier.getter : Swift.String
Error (Xcode): Undefined symbol: Foundation.Locale.LanguageCode.identifier.getter : Swift.String
Error (Xcode): Undefined symbol: nominal type descriptor for Foundation.Locale.Region
Error (Xcode): Undefined symbol: type metadata accessor for Foundation.Locale.LanguageCode
Error (Xcode): Undefined symbol: Foundation.Locale.region.getter : Foundation.Locale.Region?

解决步骤

  • 检查iOS部署目标版本:Foundation.Locale.Language、Region这类API是iOS 16及以上版本才引入的,如果项目部署目标低于iOS 16,必然会触发这类未定义符号错误。进入项目设置 → Project → Info → Deployment Info,把iOS版本调整到16.0或更高。

  • 清理缓存后重新构建:

    1. 按Command + Shift + K清理项目
    2. 按Command + Option + Shift + K清理构建文件夹
    3. 关闭Xcode,删除~/Library/Developer/Xcode/DerivedData目录下对应项目的缓存文件夹
    4. 重新打开项目并执行构建
  • 统一Swift版本:确保项目和所有依赖库使用的Swift版本一致。进入项目设置 → Build Settings → Swift Language Version,设置为同一个版本(推荐用Xcode默认的最新兼容版本)。

  • 排查第三方依赖:如果项目用了第三方库,确认这些库是否支持iOS 16+,或者是否存在编译缓存问题。可以尝试更新依赖到最新版本,或者重新安装依赖:

    • CocoaPods:执行pod deintegrate && pod install
    • Swift Package Manager:删除依赖后重新添加
  • 检查框架链接配置:进入项目设置 → Build Phases → Link Binary With Libraries,确认Foundation.framework已被正确添加,缺失的话手动添加进去。

内容的提问来源于stack exchange,提问作者Erfan Eghterafi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 16:03:08