- 在命令行
cd
到你项目的根目录(存放index.ios.js
文件的目录)下 - 执行命令, 启动服务
react-native start
- 执行打包命令
curl http://localhost:8081/index.ios.bundle -o main.jsbundle
- 将生成的
main.jsbundle
拖入到你的 Xcode 项目中 - 将
jsCodeLocation
指向本地main.jsbundle
文件
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
注意事项:
执行打包命令的时候, 服务一定要启动, 否则打包不成功
补充:
本文参考:
作者 朱_源浩 的文章
http://www.jianshu.com/u/f93674a68449
我觉得其中 demo 的入口文件 index.ios.js
中内容太多, 里面有2个页面的代码实现, 我个人认为修改成下面这样会更加合理, 更加方便维护, 各个页面的具体实现分模块写在不同的文件中, 统一在 入口文件 index.ios.js
中注册, 将入口文件 index.ios.js
看作类似iOS
的 pch
文件
import { AppRegistry,} from 'react-native';
import ReactNativeToObjectiveC from './ReactNativeToObjectiveC'
import NativeUIModule from './NativeUIModule'
AppRegistry.registerComponent('AAA', () => ReactNativeToObjectiveC);
AppRegistry.registerComponent('BBB', () => NativeUIModule);