react-native 0.40+ file not found

由于某个产品特性的实现需要将react-native从0.35.0升级到0.40+,结果遇到了一堆问题,当时又处于项目紧张的开发周期中,简直要了亲命,顿时感觉自己不会写代码了!

原因

react-native 0.40做了一个大的破坏性改动,RN的头文件声明指向了$(BUILT_PRODUCTS_DIR)/include/React。

This means that all iOS native libraries need a major version bump for RN 0.40. We attempt to minimize changes of this magnitude, and we apologize for any inconvenience caused.

解决方法

  1. 在Xcode中,进入项目的Edit Scheme...对话框(Product -> Scheme -> Edit Scheme...)
  2. 选择左边栏的Build
  3. 取消选中Parallelize Build
  4. 添加ReactTargets中,并拖动到第一个。
  5. #import "RCT*.h" 改为 #import <React/RCT*.h>
  6. Clean, Build.
D5C60C0B-ED33-45F8-BB2B-FBE5A35AD6C4.png

补充

Duplicate interface definition for class 'RCTBridge'

解决上面的"file not found"问题之后,可能还会遇到这个问题,解决方法是:
移除所有第三方库header search path中的react-native引用. (手动改之前,先检查一下所用的第三方库是否已经支持0.40+了)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容