`React/RCTBridgeModule.h` file n
2018-05-02 本文已影响0人
CharlesYale
由于react-native在0.40版本修改了结构,所以在0.40版本以上,在ios工程中引用rn模块都要用
#import <React/RCTBridgeModule.h>
这种尖括号的形式,如果你的项目在编译时报了React/RCTBridgeModule.h
file not found错误,有两个办法:
1.升级rn版本
2.将
#import <React/RCTBridgeModule.h>
修改为
#import "RCTBridgeModule.h"
但是即便改成
#import "RCTBridgeModule.h"
之后,在package.json里边引用了第三方库依然可能会有问题,原因是

search_paths没有包含react,所以这样include找不到,可以修改成

或者可以在xcode中找到对应库.xcodeproj-->Build Settings-->搜索search path-->手动添加:

添加后clean一下,再build就可以啦
ps:
方法2虽然可以解决问题,但是如果重新npm install之后,node_modules里的对应文件会回复,又得重新改过,所以最合理的方法还是升级rn版本,或者fork第三方库,修改后采用本地引入的方式,或者发到自己的npm上去,在项目里引用自己修改后的库