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

求助:M1芯片Mac运行Intel环境开发的React Native项目出现Undefined symbol报错如何解决

解决M1 Mac上React Native项目Swift符号未定义的问题

我之前帮团队处理过几乎一模一样的情况!这种Undefined symbol: Swift.String.unicodeScalars.getter报错,本质上是M1芯片的arm64架构兼容性,加上旧项目依赖的Swift/Xcode版本和M1环境不匹配导致的,给你几个亲测有效的修复步骤,按从易到难的顺序来试:

  • 调整Xcode项目架构设置
    打开项目的Xcode工程,选中你的主target,进入Build Settings标签:

    1. 找到Architectures选项,将其修改为Standard Architectures (arm64, x86_64)
    2. 找到Build Active Architecture Only,把Debug和Release模式下的值都改成No
    3. 检查Excluded Architectures,确保没有添加arm64(如果有就删掉)
      改完后先尝试重新build项目,很多时候这一步就能解决问题。
  • 更新Xcode版本并清理依赖缓存
    旧项目用的Xcode 12.5.1对M1芯片的Swift支持存在一些已知bug,建议升级到Xcode 13.0及以上版本(App Store里就能更新)。更新完成后,清理项目缓存重新安装依赖:

    # 清理RN依赖
    rm -rf node_modules && rm package-lock.json && npm install
    # 清理iOS Pod依赖
    cd ios && pod deintegrate && pod install && cd ..
    
  • 给Podfile添加架构兼容配置
    如果上面两步都没解决,打开ios/Podfile,在文件末尾添加这段配置,强制所有Pod兼容arm64和x86_64架构,并统一Swift版本:

    post_install do |installer|
      installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
          config.build_settings['ARCHS[sdk=iphonesimulator*]'] = 'arm64 x86_64'
          # 这里的Swift版本要和你项目实际使用的版本一致,比如5.0/5.5等
          config.build_settings['SWIFT_VERSION'] = '5.0'
        end
      end
    end
    

    保存后重新执行cd ios && pod install。

  • 清理Xcode Derived Data
    有时候缓存会导致奇怪的编译问题,打开Xcode,点击顶部菜单栏的Xcode -> Preferences -> Locations,找到Derived Data,点击旁边的箭头打开文件夹,删除里面的所有内容,然后重启Xcode再尝试build。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 15:57:46