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

Xcode 13模拟器运行React Native iOS报x86_64架构Undefined symbols错误如何解决?

问题产生原因
  • 符号报错的核心原因是Xcode 13版本调整了Swift标准库的默认链接逻辑:当项目依赖包含Swift编写的组件(此处为YogaKit)但主项目本身没有Swift文件时,Xcode不会自动链接Swift相关的系统框架,就会抛出swiftDataDetection、swiftFileProvider相关的符号缺失错误。
  • 部署目标警告的原因是部分第三方Pod依赖的最低iOS版本设置过低,Xcode 13的iOS模拟器不再支持iOS 8.0作为部署目标,最低兼容版本为iOS 9.0,因此会批量抛出该类警告。
解决方法

修复符号缺失错误

二选一即可,推荐第一种方案,后续升级不容易出兼容性问题:

  • 方案1:打开iOS项目的xcworkspace文件,新建一个空的Swift文件,命名随意(比如Placeholder.swift),创建时Xcode提示是否生成桥接文件,选择是即可,该操作会强制Xcode编译时自动链接Swift标准系统库。
  • 方案2:选中主项目target,进入Build Settings找到Other Linker Flags配置项,手动添加两个参数:-lswiftDataDetection和-lswiftFileProvider,保存配置即可。

修复批量部署目标警告

  • 打开ios目录下的Podfile文件,在末尾添加如下post_install钩子代码:
post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      if config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].to_f < 9.0
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
      end
    end
  end
end
  • 保存Podfile后,在ios目录下执行pod install --repo-update重新安装依赖。
  • 最后清空Xcode缓存,重新执行react-native run-ios --simulator即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:06:03