前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >新版React Native发布APP之打包iOS应用(最新)

新版React Native发布APP之打包iOS应用(最新)

作者头像
CrazyCodeBoy
发布2020-03-23 15:45:28
4.2K0
发布2020-03-23 15:45:28
举报

React Native发布APP之打包iOS应用

了解更多,可学习《React Native视频教程》

用React Native开发好APP之后,如何将APP发布以供用户使用呢?一款APP的发布流程无外乎:签名打包—>发布到各store这两大步骤。本文将向大家分享如何签名打包一款React Native APP。

在本文中我将为大家讲解如何打包和发布React Native iOS App。

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

和打包React Native Android应用不同的是,我们无法通过命令一步进行导出React Native iOS应用。我们需要将JS部分的代码和图片资源等打包导出,然后通过XCode将其添加到iOS项目中。

导出js bundle的命令

在React Native项目的根目录下执行:

react-native bundle --platform ios --entry-file index.js --bundle-output ./bundles/main.jsbundle --assets-dest  ./bundles --dev false

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

生成jsbundle
生成jsbundle

)

其中,assets为项目中的JS部分所用到的图片资源(不包括原生模块中的图片资源),main.jsbundle是JS部分的代码。

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

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

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

导入jsbundle
导入jsbundle

然后,修改AppDelegate.m文件,添加如下代码:

- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
#if DEBUG
  return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#else
  //没有使用CodePush热更新的情况
//  return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
  //如果在项目中使用了CodePush热更新,那么我们需要就可以直接通过CodePush来读取本地的jsbundle,方法如下: For React Native >=0.59,https://github.com/microsoft/react-native-code-push/blob/master/docs/setup-ios.md
  return [CodePush bundleURL];
#endif
}

上述代码的作用是让React Native去使用我们刚才导入的jsbundle,这样以来我们就摆脱了对本地nodejs服务器的依赖。

到目前为止呢,我们已经将js bundle包和图片资源导入到iOS项目中,接下来我们就可以发布我们的iOS应用了。

RN 应用和纯iOS应用打包唯一不同的是上面两步,按照这个教程执行完第二步,剩下的步骤就和iOS正常APP打包一样了

第三步:发布iOS应用

接下来的打包和发布流程和一个正常的iOS应用的步骤是一模一样的,主要涉及以下几个流程:

  • 需要有一个99美元的账号用于将App上传到AppStore,或者是299美元的企业级账号用于将App发布到自己公司的服务器或第三方公司的服务器,如果你还没有iOS开发者账号,网上有很多教程可以参考着申请下:
  • 配置证书,开发这账号申请好之后需要在我们电脑上配置下开发者证书:
  • 归档打包与部署
归档打包与部署

证书配置好之后,接下来就可以归档打包了:

首先我们需要将运行的设备改为 iOS Device:

iOS Device
iOS Device

不然Archive按钮会一直是灰色。

然后,选择Product -> Archive 进行归档打包。

归档完成之后你会看到,归档结果页:

archive-result
archive-result

在这个页面中选择部署你的APP。

选择部署的方式:

archive-method
archive-method

点击了upload后,如果没其他问题的话,就可以在苹果管理后台来发布你的应用了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • React Native发布APP之打包iOS应用
    • 第一步:导出js bundle包和图片资源
      • 导出js bundle的命令
    • 第二步:将js bundle包和图片资源导入到iOS项目中
      • 第三步:发布iOS应用
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档