/ iOS

React Native RCTValueAnimatedNode.h file not found 问题修复

原因

官方代码库里 RCTNativeAnimatedNodesManager.h中 import 了错误的头文件。

GitHub 上相关的 issue 日期是2017年3月,截止本文写作时的2017年9月27日,该问题仍未解决。

解决方法

解决方法是在 package.json 中添加一个指令,修复 ReactNative 源代码中的错误:

{
  "name": "YourProject",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "postinstall": "sed -i '' 's\/#import <RCTAnimation\\/RCTValueAnimatedNode.h>\/#import \"RCTValueAnimatedNode.h\"\/' ./node_modules/react-native/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h",
    "start": "node node_modules/react-native/local-cli/cli.js start"
  },
  "dependencies": {
    "react": "^16.0.0-alpha.12",
    "react-native": "^0.48.3"
  }
}

scripts 部分,添加

"postinstall": "sed -i '' 's\/#import <RCTAnimation\\/RCTValueAnimatedNode.h>\/#import \"RCTValueAnimatedNode.h\"\/' ./node_modules/react-native/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h",

修改完 package.json 后,需要执行一次脚本让改动生效:

npm run postinstall

完成后切换到项目目录下执行 pod install 即可。

参考