您的位置:首页 > Web前端 > React

使用CocoaPods在现有项目集成React-Native

2016-10-10 15:53 483 查看
使用命令 react-native init newProject 新创建一个react Native项目。

将新创建的react native项目中的index.ios.js文件和node_modules,package.json放在一个文件夹中,如下图所示。


在已有的iOS工程里集成CocoaPods(集成步骤见上一篇博文),在podfile文件中写下如下代码:

path根据自己的工程目录修改

platform :ios, ‘7.0’ target “RN-React-Native” do pod ‘React’, :path => ‘./react-native/node_modules/react-native’, :subspecs => [

‘RCTText’,

‘RCTImage’,

‘RCTWebSocket’,

‘RCTPushNotification’,

‘RCTActionSheet’,

‘ART’,

‘RCTCameraRoll’ ] end

4.podfile文件修改完之后,cd到iOS项目工程的根目录里执行命令 pod install ,安装RN所需库文件。

5.使用生成好的.ccworkspace打开项目,在原有iOS工程里新建一个派生类ReactView,为更好的理解RN+iOS混合开发,然后在init …frame方法里写入以下代码

导入头文件:#import “RCTRootView.h”

-(instancetype)initWithFrame:(CGRect)frame{

if (self = [super initWithFrame:frame]) {

NSURL *jsLocation = [NSURL URLWithString:@”http://localhost:8081/index.ios.bundle“];

RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsLocation moduleName:@”iostaoge03”

initialProperties:nil launchOptions:nil];

self.rootView = rootView;

[self addSubview:rootView];

}

return self;

}

6 . ViewController.m的viewDidLoad里添加视图,

(void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

ReactView *rootView = [[ReactView alloc]initWithFrame:CGRectMake(110, 110, 220, 220)];

[self.view addSubview:rootView]; }

7.启动RN服务 npm 终端命令:cd 到下图标注的目录执行命令

npm start
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: