React Native ios打包

本文详细介绍了如何使用React Native进行iOS应用的打包过程。包括创建bundle文件夹、配置打包命令、添加资源到Xcode项目及修改AppDelegate.m中的加载方式等步骤。

1.在自己项目的ios文件夹下新建一个文件夹取名bundle(ps:ios文件夹和node_modules文件夹在同一级目录下,这个bundle文件夹名称随意取,后面要用到,但是记得在相应地方改一下就好了)

2.为了方便,将打包命令写到项目package.json文件里,
然后执行命令:

npm run bundle-ios


打包命令为:

"bundle-ios":"node node_modules/react-native/local-cli/cli.js bundle --entry-file index.js --platform ios --dev false --bundle-output ./ios/bundle/index.jsbundle --assets-dest ./ios/bundle"

 

"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest",
"bundle-ios":"node node_modules/react-native/local-cli/cli.js bundle --entry-file index.js --platform ios --dev false --bundle-output ./ios/bundle/index.jsbundle --assets-dest ./ios/bundle"
},

打包命令完成后会在我们新建的文件夹bundle里面生成相应的文件。

3.用Xcode打开项目,选中跟项目同名的那个文件夹,右键,选中‘Add Files to ..’选项,然后选择新建的那个bundle文件夹,在弹出的对话框中,点击options,一定要勾选Create folder references选项,将bundle文件夹添加到项目里,Xcode下该文件夹一定要是蓝色的。

4.修改AppDelegate.m中的加载包的方式(只需修改一次),之后项目会自动跟据debug还是release状态加载不同的包,我们不用在管了

NSURL *jsCodeLocation;
#ifdef DEBUG
     //开发包

    jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];


#else
     //离线包

    jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"bundle/index" withExtension:@"jsbundle"];


#endif

5.将项目由debug状态改成release状态,Xcode-->Product-->Scheme-->Edit Scheme...
 
 
参考资料:https://www.jianshu.com/p/ce71b4a8a246

转载于:https://www.cnblogs.com/cui-cui/p/9207443.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值