##集成步骤
swift2.3 OSX 10.11.6 Xcode8.0
创建一个ReactNative工程很简单
react-native init ProjectName
那么如何在一个现有的Swift工程内集成ReactNative呢?
首先在项目根目录创建一个ReactNative的文件夹
cd ProjectRootDir mkdir ReactNative
创建一个package.json,注意,这里选用0.30.0版本,最新的0.33.0版本集成后会有问题,具体的问题可以去ReactNative的issue上去看。
{ "dependencies": { "react": "15.2.0", "react-native": "0.30.0" } }
加载node_modules
cd ReactNative npm install
加载成功后在你的Podfile文件里加上这几句
pod 'React', :path => './ReactNative/node_modules/react-native', :subspecs => [ 'Core', 'RCTImage', 'RCTNetwork', 'RCTText', 'RCTWebSocket', ]
最后
pod install
编译通过 大功告成
##一些技巧
- 如何在工程编译运行的时候自动启动Server呢?
在Xcode的run script里添加如下shell
if nc -w 5 -z localhost 8081 ; then
if ! curl -s "http://localhost:8081/status" | grep -q "packager-status:running" ; then
echo "Port 8081 already in use, packager is either not running or not running correctly"
exit 2
fi
else
open $SRCROOT/ReactNative/node_modules/react-native/packager/launchPackager.command || echo "Can't start packager automatically"
fi
- 如何在真机运行时自动打包main.jsbundle呢
在Xcode的run script里添加如下shell
export NODE_BINARY=node
sh $SRCROOT/ReactNative/node_modules/react-native/packager/react-native-xcode.sh