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

升级ReactNative 0.72.10与reanimated 3.6.1后iOS构建崩溃求助

问题原因

React Native 0.72.x 版本对JSI(JavaScript Interface)接口做了兼容性变更,其中jsi::ArrayBuffer::data()方法被调整为const成员函数,但你当前使用的react-native-reanimated@3.6.1的C++代码中,是在const jsi::ArrayBuffer实例上调用了未标记为const的data()方法,触发编译错误。

解决方法
  • 升级react-native-reanimated到兼容RN 0.72的版本
    Reanimated官方在3.7.0及以后版本修复了该兼容性问题,执行命令升级:
    npm install react-native-reanimated@^3.7.0
    # 或使用yarn
    yarn add react-native-reanimated@^3.7.0
    
  • 清理iOS构建缓存
    升级完成后,清理缓存避免旧编译文件残留:
    # 清除依赖缓存
    rm -rf node_modules package-lock.json yarn.lock
    npm install
    # 清理iOS Pods与构建文件
    cd ios
    pod deintegrate
    rm -rf Podfile.lock build
    pod install
    cd ..
    # 重置Metro缓存
    npx react-native start --reset-cache
    
  • 临时应急修复(不推荐长期使用)
    如果暂时无法升级Reanimated,可手动修改node_modules/react-native-reanimated/Common/cpp/SharedItems/Shareables.h文件:
    将报错位置的const jsi::ArrayBuffer& arrayBuffer改为jsi::ArrayBuffer& arrayBuffer,或对arrayBuffer做const_cast转换,但这种方法可能引发其他兼容性问题,仅作临时方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 23:47:14