iOS接⼊react-native
最为⼀个iOS开发⼈员,最近在研究rn开发,坑还挺多的。下⾯我就来说说iOS接⼊rn的步骤以及我遇到的问题.
前提:电脑已经安装过React-Native相关环境;
创建:⾸先我们创建⼀个iOS项⽬,我命名为React-IOS;
1.⾸先创建⼀个iOS项⽬
这个相信⼤家都会创建,就不说了。
2.在项⽬⽬录下创建⼀个reactnative⽂件夹
3.在该⽬录下创建package.json和index.js⽂件,内容如下
4.cd到reactnative⽬录下npm install 下载node_model依赖
5.pod⾥⾯加⼊rn的库
platform :ios, ‘9.0’
target 'React-IOS' do
pod'yoga', :path => './reactnative/node_modules/react-native/ReactCommon/yoga'
pod'React', :path => './reactnative/node_modules/react-native', :subspecs => [
'Core',
'RCTImage',
'RCTNetwork',
'RCTText',
'RCTWebSocket',
'CxxBridge', # 如果RN版本 >= 0.45则加⼊此⾏
'DevSupport', # 如果RN版本 >= 0.43,则需要加⼊此⾏才能开启开发者菜单
#'BatchedBridge',
# 添加你的项⽬中需要的其他三⽅库
]
# 如果RN版本 >= 0.45则加⼊下⾯三个第三⽅编译依赖
pod'DoubleConversion', :podspec => './reactnative/node_modules/react-native/third-party-
podspecs/DoubleConversion.podspec'
pod'glog', :podspec => './reactnative/node_modules/react-native/third-party-podspecs/glog.podspec'  pod'Folly', :podspec => './reactnative/node_modules/react-native/third-party-podspecs/Folly.podspec' end
我们只需要把红⾊换成⾃⼰第四步创建的那个⽂件夹的名字
6.cd到iOS项⽬⽬录下,pod install
7.iOS⾥⾯的代码
NSURL*jsCodeLocation = [NSURL
URLWithString:@"localhost:8081/index.bundle?platform=ios"];
RCTRootView*rootView =
[[RCTRootViewalloc]initWithBundleURL: jsCodeLocation
moduleName        :@"ReactIOS"
initialProperties:
@{
@"scores":@[
@{
@"name":@"Alex",
@"value":@"42"
},
@{
@"name":@"Joel",
@"value":@"10"
}
]
}
reactnative开发
launchOptions    :nil];
self.view= rootView;
8 ⼿动集成react-native添加react-native⼯程⽂件由于项⽬没有使⽤Cocoapods进⾏第三⽅依赖包管理,所有我们需要⼿动将react-native⼯程包添加到我们的原⽣ios⼯程中。打开
reactnative/node_modules/react-native⽬录,到相关的项⽬包,将React相关的⼯程包⼿动添加到项⽬中:
添加`r ea c t-na tive/R ea c t/R ea o depro j`到项⽬中
添加`rea
添加`rea
添加`r ea c t-na tive/Libra ries/N etw o rk/R CTN etw o depro j`到项⽬中
添加`r ea c t-na tive/Libra ries/Text/ o depr o j`到项⽬中
添加`rea depro
添加`r ea c t-na tive/Libra ries/WebSo c k et/R CTWebSo c o depro j`到项⽬中 添加`rea
添加`r ea c t-na tive/Libra ries/Ac tio nSheetIOS/R CTAc o depro j`到添加`rea
项⽬中
添加的原则是,你需要什么就添加什么⼯程包。好了,我们已经将React相关⼯程包⼿动添加到React-iOS⼯程项⽬的reactnative⽬录下。添加相关
frameworks⽂件接下来要将相关的frameworks⽂件添加到⼯程
中,React-iOS -> TARGETS -> React-iOS -> Build Phases -> Link Binary Width Libraries添加
将所有.a⽂件选中并添加添加
添加搜索头⽂件的地址React-iOS -> TARGETS -> React-iOS -> Build Settings -> Header Search Paths,添加⼀条
$(SRCROOT)/reactnative/node_modules/react-native/React,选择recursive。这样我们就react-native集成到现有的ios⼯程中了。
9.运⾏iOS项⽬commod+r之前,先在终端cd到创建的reactnative⽂件夹下,然后npm start,启动服务器,

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。