本文要做的事情:iOS将推送数据,调用RN方法,进行数据传递。按步骤来,一定能成功的。。权威,文章会一直更新。
疑惑:不了解RN怎么办,没事,RN代码自有前端人员写。。
介绍:至于RN的介绍这里不多说了,,就为什么会出现iOS与RN的交互场景,这里阐述下。。
RN出现的目的就是
1.能快速迭代产品
2.有原生的用户体验 核心就是调用原生的API 但是他也不是无所不能的,总有需要iOS去传递数据到RN,RN拿到数据后做相应的操作。。比如推送,收到推送消息,iOS收到推送后,如何把数据传递RN,本文就推送这块重点说明,其余原理也肯定是一样的咯。
一:RN的iOS项目是怎么加载
1.没了解RN之前想法,(没看到具体RN项目的代码之前猜想)
(1).加载肯定和webView大同小异,一是加载本地文件,二是加载URL资源。。总之一句话,不是原生的,那只有去加载一个资源文件,即要么在本地,,要么是URL,不难理解。
(2).后来看看,还真就是这么回事
NSURL *jsCodeLocation;
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"index.ios" withExtension:@"jsbundle"]; // 本地
jsCodeLocation = [NSURL URLWithString:@"http://192.168.2.13:8081/index.ios.bunfsfsfdle?ffsf=ios&dev=fsfs"]; // URL
RCTRootView* rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"HelloWorld" initialProperties:nil launchOptions:nil];
self.view = rootView;