React Native项目Xcode打包发布iOS问题
Xcode打包分布准备
对于新手来说,如果是混合开发或者纯RN应用开发好后,想打包上线了,却发现官方文档没有找到详细打包的流程文档,对于完全没有经验的新手真的不太好友。下面是参考资料总结而成:
1、打包命令 react-native bundle,在RN项目根目录下:
react-native bundle --entry-file index.ios.js --platform ios --dev false --bundle-output ios/ios.jsbundle
参数:
--entry-file :ios或者android入口的js名称,比如index.ios.js
--platform :平台名称(ios或者android)
--dev :设置为false的时候将会对JavaScript代码进行优化处理。
--bundle-output,:生成的jsbundle文件的所在目录和名称,比如 ios/ios.jsbundle。
在当前项目中,输入上面命令,然后在ios/目录下生成2个离线包:
$ react-native bundle --entry-file index.ios.js --platform ios --dev false --bundle-output ios/ios.jsbundle [2016-12-25 19:55:01] <START> Initializing Packager [2016-12-25 19:55:01] <START> Building in-memory fs for JavaScript [2016-12-25 19:55:01] <END> Building in-memory fs for JavaScript (88ms) [2016-12-25 19:55:01] <START> Building Haste Map [2016-12-25 19:55:02] <END> Building Haste Map (1091ms) [2016-12-25 19:55:02] <END> Initializing Packager (1212ms) [2016-12-25 19:55:02] <START> Transforming files [2016-12-25 19:55:15] <END> Transforming files (13122ms) bundle: start bundle: finish bundle: Writing bundle output to: ios/ios.jsbundle (node:8023) DeprecationWarning: Using Buffer without `new` will soon stop working. Use `new Buffer()`, or preferably `Buffer.from()`, `Buffer.allocUnsafe()` or `Buffer.alloc()` instead. bundle: Done writing bundle output Assets destination folder is not set, skipping...
运行上面命令后,在项目的ios文件夹下看到ios.jsbundle
、ios.jsbundle.meta
。
2、iOS项目中导入包
3、修改项目中BundleURL
修改AppDelegate.h的定向URL,需要注意的是名字要跟你生成的jsbundle的名字一致。
// jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil]; jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"ios" withExtension:@"jsbundle"];
- 如果项目是混合开发,那么用到BundleURL的地方也要改成这个BundleURL地址。
- 如果修改了项目的js文件,那么就要重新打包一次,或者利用热更新机制更新。
参考
- React Native ios打包 - 简书
- React Native iOS打包,给用户生成ipa文件 - 简书
- React Native程序部署至iOS应用商店之前需要的配置和如何生成release版本的APK包
注:本文首发于 iHTCboy's blog,如若转载,请注明来源。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android谈谈封装那些事--BaseActivity和BaseFragment(一)
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/53872175 绪论 圣诞节怎么过?我不过圣诞节,被票圈的晒幸福虐惨了,还是在家里面总结总结自己吧。上篇文章 Android自定义View–自己撸一个柱状图也没那么难 我说过会封装一套属于自己的库,争取在元旦之前发出来,作为新年礼物给自己,给大家。好了,今天我们先来聊聊自己在项目中以及参考大神们的代码怎么来封装自己的BaseActivity和BaseFragment。 怎么封装? 说到封装我们首先想到的就是面向对象,以前脑子里对于面向对象的认识就是封装、继承、多态,随着自己真正进入开发工作之后,慢慢的才有了更深的认识;其实最深的一次是在和朋友交流的过程中他给了我很大的启发,所以技术交流其实还是很重要的。那么什么是封装呢?那就不得不提到面向对象了,下面谈谈我自己的理解,不一定对,所以还请大家多多包涵指正: 首先:面向对象的根本本质是什么?简单的一句话,其实就是把属性和方法绑定到了一起,这句话该怎么理解呢?举一个最简单的例子:我们在写一个activity...
- 下一篇
【Android】1.开发环境搭建
一.配置JAVA环境变量 第一步:先右键计算机-->属性-->高级系统设置-->环境变量-->新建 第二步:新建需要建立三个环境变量,其实两个就可以,建立JAVA_HOME只是方便后面的两个新建的时候写的短一点,可以直接引用JAVA_HOME来作为路径使用。 第三步:建立JAVA_HOME,值就是C:\Program Files\Java\jdk1.7.0_80 第四步:建立CLASSPATH,值就是.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 其实就是在找到lib目录下的dt.jar和tools.jar .代表根目录%JAVA_HOME%代表引用了之前定义的JAVA_HOME 第五步:编辑path,值就是;%JAVA_HOME%\bin path是系统给的,我们只是需要将我们的javac.exe和java.exe的bin目录添加到path中去。里面原本的内容不可以更改。 完了之后验证一下: 运行-->cmd-->键入java -version,查看版本号 这样就JDK java的环境变量就...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)