React Native 发布 APP 之打包 iOS 应用

发布于 2023-05-27 00:22:06 字数 2688 浏览 68 评论 0

用 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 --entry-file index.ios.js --platform ios --dev false --bundle-output release_ios/main.jsbundle --assets-dest release_ios/

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

生成jsbundle

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

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

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

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

导入jsbundle

然后,修改 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;
}

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

提示:如果在项目中使用了 CodePush 热更新,那么我们需要就可以直接通过 CodePush 来读取本地的 js bundle,方法如下:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  NSURL *jsCodeLocation;  
#ifdef DEBUG
    jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
#else
    jsCodeLocation = [CodePush bundleURL];
#endif
...
  return YES;
}

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

第三步:发布 iOS 应用

发布 iOS 应用我们需要有一个99美元的账号用于将 App 上传到 AppStore,或者是 299 美元的企业级账号用于将 App 发布到自己公司的服务器或第三方公司的服务器。

接下来我们就需要进行申请 APPID ➜ 在 Tunes Connect 创建应用 ➜ 打包程序 ➜ 将应用提交到 app store 等几大步骤。

因为官方文档中有详细的说明,在这我就不再重复了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

℉服软

暂无简介

文章
评论
27 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文