React-Native IOS打包及发布


iOS打包

打包命令介绍

  • 通过React Nativereact-native bundle命令来进行打包的。

react-native bundle的详细命令选项

其中常用命令选项:

–entry-file ,ios或者android入口的js名称,比如index.ios.js
–platform ,平台名称(ios或者android)
–dev ,设置为false的时候将会对JavaScript代码进行优化处理。
–bundle-output, 生成的jsbundle文件的名称,比如release_ios/main.jsbundle
–assets-dest 图片以及其他资源存放的目录,比如release_ios/

  • 导出js bundle的命令
react-native bundle --entry-file index.ios.js --platform ios --dev false --bundle-output release_ios/main.jsbundle --assets-dest release_ios/
  • 方便使用,可以把打包命令写到npm script
"scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "bundle-ios":"node node_modules/react-native/local-cli/cli.js bundle --entry-file index.ios.js --platform ios --dev false --bundle-output release_ios/main.jsbundle --assets-dest release_ios/"

  },
  • 运行命令直接打包:
npm run bundle-ios

开始打包

第一步:导出js bundle包和图片资源

  • 在React Native项目的根目录下执行打包命令:
react-native bundle --entry-file index.ios.js --platform ios --dev false --bundle-output release_ios/main.jsbundle --assets-dest release_ios/

或者 执行:

npm run bundle-ios

通过上述命令,将JS部分的代码和图片资源等打包导出到release_ios目录下.

在执行打包命令之前,先确保在项目的根目录有release_ios文件夹,没有的话创建一个。

第二步:将js bundle包和图片资源导入到iOS项目中

  • 这一步需要用到XCode,选择assets文件夹main.jsbundle文件将其拖拽到XCode的项目导航面板中即可。

    必须使用Create folder references的方式添加文件夹.

  • 修改AppDelegate.m文件,添加如下代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

  NSURL *jsCodeLocation;
 //jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
 +jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
...
  return YES;
}

让xcode使用刚才导入的jsbundle摆脱对本地nodejs服务器的依赖。

第三步:发布iOS应用

发布还是比较麻烦的,从创建苹果账号到认证到最后的发布,期间还是有一系列问题需要填的。

参考
https://www.jianshu.com/p/ce71b4a8a246
http://www.cocoachina.com/ios/20170511/19250.html

结束语

在我们应用打包完后面临着测试等环节,我们可以使用蒲公英等平台来帮助测试包的派发与测试。


文章作者: 我若为侠
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 我若为侠 !
 上一篇
TomCat安装及部署 TomCat安装及部署
tomcat简介 Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上
下一篇 
React-Native IOS打包及发布 React-Native IOS打包及发布
Android打包生成签名密钥 打开终端 查看java 根目录路径 /usr/libexec/java_home -VMatching Java Virtual Machines (1): 1.8.0_121, x86_64:
  目录