React Native项目Xcode打包发布iOS问题

简介: Xcode打包分布准备对于新手来说,如果是混合开发或者纯RN应用开发好后,想打包上线了,却发现官方文档没有找到详细打包的流程文档,对于完全没有经验的新手真的不太好友。

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个离线包:


img_02f62c59383e360c7bdac0dbd2733db5.png
react-native bundle --entry-file index.ios.js --platform ios --dev false --bundle-output ios:ios.jsbundle.png
$ 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.jsbundleios.jsbundle.meta

img_b9ea74074d8f8f0c235b991c7593b34a.png
生成的离线包.png

2、iOS项目中导入包
img_cb792864fed3c464fcb229e93bd18426.png
生成的离线包.png
img_5f5d3ad82ed594e9e195ef76bfddf85e.png
安图选择完成.png
3、修改项目中BundleURL

修改AppDelegate.h的定向URL,需要注意的是名字要跟你生成的jsbundle的名字一致。

//  jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
  
  jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"ios" withExtension:@"jsbundle"];

img_8ddffeeab4f982ea33d755c299f964df.png
修改 jsCodeLocationURL.png
  • 如果项目是混合开发,那么用到BundleURL的地方也要改成这个BundleURL地址。
  • 如果修改了项目的js文件,那么就要重新打包一次,或者利用热更新机制更新。

参考


注:本文首发于 iHTCboy's blog,如若转载,请注明来源。

目录
相关文章
|
2月前
|
Linux 数据安全/隐私保护 虚拟化
iOS 打包 IPA 教程
iOS 打包 IPA 教程
|
3月前
|
编解码 数据安全/隐私保护 iOS开发
uniapp IOS从打包到上架流程(详细简单) 原创
uniapp IOS从打包到上架流程(详细简单) 原创
105 0
|
2月前
|
Linux 数据安全/隐私保护 iOS开发
如何使用 Xcode 打包导出 IPA 文件并进行 iOS 应用内测,无需支付苹果开发者账号费用?
如何使用 Xcode 打包导出 IPA 文件并进行 iOS 应用内测,无需支付苹果开发者账号费用?
|
1月前
|
数据安全/隐私保护 开发者 iOS开发
iOS-打包上架构建版本一直不出现/正在处理/自动消失
iOS-打包上架构建版本一直不出现/正在处理/自动消失
26 0
|
1月前
|
数据安全/隐私保护 iOS开发 开发者
uniapp IOS从打包到上架流程(详细简单) 原创
uniapp IOS从打包到上架流程(详细简单) 原创
17 1
|
1月前
|
移动开发 监控 小程序
mPaaS常见问题之uniapp ios端云打包的配置config文件如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
27 0
|
1月前
|
iOS开发 开发者
【教程】uni-app iOS 打包解决 profile 文件与私钥证书不匹配问题
【教程】uni-app iOS 打包解决 profile 文件与私钥证书不匹配问题
|
2月前
|
安全 网络安全 数据安全/隐私保护
iOS App的打包和上架流程
iOS App的打包和上架流程
|
2月前
|
移动开发 开发工具 数据安全/隐私保护
iOS APP 版本更新升级教程:如何打包上架新的 APP 版本?
iOS APP 版本更新升级教程:如何打包上架新的 APP 版本?
iOS APP 版本更新升级教程:如何打包上架新的 APP 版本?
|
2月前
|
数据安全/隐私保护 iOS开发 开发者
Uniapp 最新版 iOS 打包详细步骤详解
Uniapp 最新版 iOS 打包详细步骤详解