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

React Native 0.64.4项目在Xcode 15构建失败求助

解决方案:React Native 0.64.4 在 Xcode 15 + M1 Mac 上的构建修复

针对老版本RN项目在新环境下的构建问题,按以下步骤逐一排查修复:

1. 适配 Apple Silicon 模拟器架构

RN 0.64.4 默认未适配 M1/M2 芯片的 arm64 模拟器架构,需手动排除:

  • 打开 iOS 项目的 Podfile,在 post_install 块中添加架构排除配置:
    post_install do |installer|
      installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
          # 仅在模拟器环境排除 arm64 架构
          config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
        end
      end
    end
    
  • 执行 cd ios && pod install --repo-update 重新安装依赖

2. 适配 Xcode 15 编译规则

Xcode 15 移除了部分旧链接器选项,同时调整了签名逻辑:

  • 打开 Xcode 项目,进入 Target 的 Build Settings,找到 Other Linker Flags,移除其中的 -weak-lSystem 选项(若存在)
  • 进入 Signing & Capabilities 面板,确保 Automatically manage signing 已启用,且选择了正确的开发者团队;若手动签名,需确认签名文件与当前设备/打包配置匹配

3. 调整 iOS 部署目标版本

Xcode 15 最低支持 iOS 12,且过高的目标版本(如 iOS 17)可能触发老 API 兼容性问题,建议调整到 iOS 14:

  • 在 Xcode 项目 Target 的 General 面板,将 Deployment Info 中的 iOS 版本改为 14.0
  • 修改 Podfile 开头的平台配置:platform :ios, '14.0',然后重新执行 pod install

4. 修复第三方依赖兼容性

部分老依赖可能不兼容 Xcode 15 或 Apple Silicon:

  • 检查 package.json 和 Podfile.lock 中的依赖,将核心库(如 react-native-safe-area-context、react-native-screens)升级到兼容 RN 0.64.4 的最新版本
  • 若使用 Flipper,RN 0.64.4 内置的 Flipper 版本与 Xcode 15 不兼容,可暂时禁用:注释掉 Podfile 中所有 Flipper 相关代码,再执行 pod install

5. 清理缓存后重新构建

执行以下命令彻底清理缓存,避免残留问题:

# 清理 Node 依赖
rm -rf node_modules package-lock.json
npm install

# 清理 iOS 依赖
cd ios
rm -rf Pods Podfile.lock
pod deintegrate
pod install --repo-update
cd ..

# 清理 RN 缓存
npx react-native clean

在 Xcode 中按下 Cmd+Shift+K 清理 Build Folder,然后重新尝试构建模拟器或打包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 00:45:09