React Native、OC和Swift混编

一看这标题,就知道是作死的节奏。原项目是OC写的,后来和Swift混编,现在用RN继续搞起,这里分享下自己碰到的坑,主要是碰到这个坑的时候google和baidu都没有找到,然后自己凭着感觉来改的,希望能帮到有需要的朋友。

首先先按中文网的集成方法,在原项目里集成RN环境,这里就不过多说了,因为项目使用的是OC和Swift混编,所以使用的是Swift的集成方式集成。走完流程build一下,发现第一个报错:

React Native、OC和Swift混编_第1张图片
DA17D71B-67EB-4BEC-A6B8-72E3153F42E1.png

这个问题很明显了,直接用:

#import "CSSLayout.h"

来代替所有的:

#import 

就解决了,然后再重新build一次,发现:

React Native、OC和Swift混编_第2张图片
9FAAE997-DF08-4CFC-B421-9F48BE857B13.png

这个问题一开始我也懵,直接上来就是google、baidu的,但并没有找到我想要的结果,但我们可以仔细读下错误信息,发现明显是因为CSSLayout这里出了问题,所以在项目中搜索下:

React Native、OC和Swift混编_第3张图片
9F2D2930-8FAF-4055-8D43-1E0DEB5D43D3.png

原因确认,重复导入了一样的内容,直接干掉其中一个:

React Native、OC和Swift混编_第4张图片
EBF97726-2399-46D6-9DD4-80839F3EF925.png

留下ReactCommon这一个,这明显就是一个共同的目录,所以把React目录下的CSSLayout目录的内容全部删除。这个时候还没有完成,重新 pod update 一下,搞定,欢迎入坑大RN之终极混编~~

重要的事情写在最后:

新手入门RN的同学们,千万不想相信 react native 中文网推荐的东方耀的视频,买了vip入去,发现视频不更新,先不说视频质量怎么样,感觉照搬某课网的,这都可以忍,但天天推广*点公益,也敢叫公益的公益。被骗得不要不要。(我已经到github给中文网提了issues,目测已经看不到那广告了)

你可能感兴趣的:(React Native、OC和Swift混编)