项目背景:Objective-C与Swift3.3混合编译,采用cocoapods进行管理
-
Podfile文件
Podfile -
fishhook.h file not found
RCTReconnectingWebSocket.h中问题
首先:把#import "fishhook.h"改成#import <React/fishhook.h>,
然后进行pod update,如果还存在编译异常,在进行
修改package.json,
package.json文件"postinstall": "sed -i '' 's#import <RCTAnimation\\/RCTValueAnimatedNode.h>/#import <React\\/RCTValueAnimatedNode.h>/' ./node_modules/react-native/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h; sed -i '' 's/#import <fishhook\\/fishhook.h>/#import <React\\/fishhook.h>/' ./node_modules/react-native/Libraries/WebSocket/RCTReconnectingWebSocket.m"
-
Yoga-internal.h中异常
Yoga-internal.h与RCTConvert.h
修改yoga.podspec文件
修改yoga.podspec后文件spec.public_header_files = 'yoga/Yoga.h', 'yoga/YGEnums.h', 'yoga/YGMacros.h'
暂时就遇到上述一些问题,成功之后进行的记录,可能还有遗漏,请见谅
[2018-07-04更新]
4.在项目完成初始化后,开始编写代码的过程中又遇到了其他的问题,由于是混编所以在桥接文件中需要引入
引入文件
问题如下:
Duplicate interface definition for class "***"
按照官方的操作方式不一定可行(本人新建一个混编工程,就可以这样使用,没有问题)
Exporting Swift
解决方法:
创建分类
TestManager+External.h
TestManager+External.m
这样就搞定了,RN调用本地的方法,愉快地玩耍。。。
参考链接:https://github.com/facebook/react-native/issues/16414
https://github.com/facebook/react-native/issues/10428