React Native RCTValueAnimatedNode.h file not found 问题修复
原因
官方代码库里 RCTNativeAnimatedNodesManager.h
中 import 了错误的头文件。
GitHub 上相关的 issue 日期是2017年3月,截止本文写作时的2017年9月27日,该问题仍未解决。
- GitHub issue:[iOS][cocoapods] 'RCTAnimation/RCTValueAnimatedNode.h' file not found #13198
- 本文使用的 React Native 版本:0.48.3
解决方法
解决方法是在 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
即可。