简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网

我猜去全部机翻+个人修改补充+demo测试的形式,对expo进行一次大补血!欢迎加入expo兴趣学习交流群:597732981

【之前我写过一些列关于expo和rn入门配置的东i西,大家可以点击这里查看:从零学习rn开发

相关文章:

Expo大作战(一)--什么是expo,如何安装expo clinet和xde,xde如何使用

Expo大作战(二)--expo的生命周期,expo社区交流方式,expo学习必备资源,开发使用expo时关注的一些问题

Expo大作战(三)--针对已经开发过react native项目开发人员有针对性的介绍了expo,expo的局限性,开发时项目选型注意点等

Expo大作战(四)--快速用expo构建一个app,expo中的关键术语

Expo大作战(五)--expo中app.json 文件的配置信息

Expo大作战(六)--expo开发模式,expo中exp命令行工具,expo中如何查看日志log,expo中的调试方式

Expo大作战(七)--expo如何使用Genymotion模拟器

Expo大作战(八)--expo中的publish以及expo中的link,对link这块东西没有详细看,大家可以来和我交流

更多>>

接下来就开始撸码


发布频道

介绍
使用Expo中的发布渠道,通过为用户提供URL或配置独立应用程序,向用户发送不同版本的应用程序。 在下列情况下您应该使用发布渠

  1. 你有一个生产应用程序,需要一个测试环境。
  2. 您有多个版本的应用。

频道发布

通过运行发布您的版本:

exp publish --release-channel <your-channel>

用exp cli。 您的用户可以在Expo客户端应用程序中看到此版本,并带有参数化的URL https://exp.host/@username/yourApp?release-channel= <您的频道>。 如果您不指定频道,您将发布到默认频道。

频道建立(Build with Channels)

通过运行构建您的独立应用程序

exp build:ios --release-channel <your-channel>

exp build:android --release-channel <your-channel>

用exp cli。 生成的二进制文件只会提取在指定频道下发布的发布。 如果您不指定频道,则您的二进制文件将从默认频道提取发布。

从代码访问频道

您可以使用清单对象中的releaseChannel字段访问发布版本的频道。

Expo.Constants.manifest.releaseChannel在开发模式下不存在。它确实存在,但是当你明确地发布/构建它时(It does exist, however when you explicitly publish / build with it.)。

示例工作流程

考虑一种情况,即您有一个用于在Expo Client上进行测试的Staging堆栈,以及一个用于推送TestFlight的生产堆栈,然后将其推广到AppStore。

在Staging堆栈上,运行exp publish --release-channel staging。您的测试用户可以通过在URL的查询参数中指定频道(例如https://exp.host/@username/yourApp?release-channel=staging),然后在其中打开URL来查看应用的分期版本网页浏览器,最后用Expo客户端扫描QR码。或者,他们可以直接在移动设备上打开该URL。

在生产堆栈上,通过运行exp publish --release-channel prod-v1释放您的应用程序的v1版本。您可以通过运行exp build来将此版本的应用程序构建到独立的ipa中:ios --release-channel prod-v1。您可以发布到prod-v1频道,将更新推送到您的应用。独立应用程序将使用prod-v1频道上最新的兼容版本进行更新。

如果你有一个你不想让V1用户获得的新版本,通过运行exp publish --release-channel prod-v2并使用exp build:ios --release-channel prod-v2构建它,发布你的应用的第2版。使用prod-v2 ipa的用户只会从该频道获取发行版。

您可以继续使用exp publish --release-channel prod-v1更新您的应用v1,未在Apple App Store中更新到最新prod-v2 ipa的用户将继续接收最新的prod-v1版本。

通过ExpoKit使用发行渠道

由于exp build不适用于ExpoKit项目,因此您可以通过修改EXShell.plist(iOS)或Constants.java(Android)中的releaseChannel项来手动编辑本机项目的发布频道。

使用发布渠道进行环境变量配置

环境变量不是显式存在的,但是您可以利用发布渠道来实现这一点!

假设你有一个释放这样的构建的工作流程:

  • exp publish --release-channel prod-v1

  • exp publish --release-channel prod-v2

  • exp publish --release-channel prod-v3

  • exp publish --release-channel staging-v1

  • exp publish --release-channel staging-v2

您可以创建一个函数来查找特定版本并设置正确的变量。

function getApiUrl(releaseChannel) {
if (releaseChannel === undefined) return App.apiUrl.dev // since releaseChannels are undefined in dev, return your default.
if (releaseChannel.indexOf('prod') !== -) return App.apiUrl.prod // this would pick up prod-v1, prod-v2, prod-v3
if (releaseChannel.indexOf('staging') !== -) return App.apiUrl.staging // return staging environment variables
}

当然这一节内容还有很多,至于发布频道这个介绍,我也理解不透彻,大家可以转移到官网详细了解!


下一张继续介绍,这一篇主要介绍了:expo中的Release channels,接下来会翻译expo中的分离,以及分离后的项目如何部署,最后翻译expo的sdk api,然后expo大作战系列就终结了!欢迎大家关注我的微信公众号,这篇文章是否被大家认可,我的衡量标准就是公

众号粉丝增长人数。欢迎大家转载,但必须保留本人博客链接!

Expo大作战(二十)--expo中的Release channels(不重要*)的更多相关文章

  1. Expo大作战(二十九)--expo sdk api之registerRootComponent(注册跟组件),ScreenOrientation(屏幕切换),SecureStore,

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  2. Expo大作战(二十八)--expo sdk api之Speach(语音文字转换),Segment

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  3. Expo大作战(二十六)--expo sdk api之Video和WebBrowser

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  4. Expo大作战(二十五)--expo sdk api之Admob

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  5. Expo大作战(二十四)--expo sdk api之Accelerometer

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  6. Expo大作战(二十三)--expo中expo kit 高级属性(没干货)

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  7. Expo大作战(二十二)--expo分离后的部署(expokit)

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  8. Expo大作战(四十)--expo sdk api之 Calendar,Constants

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  9. Expo大作战(三十)--expo sdk api之Permissions(权限管理模块),Pedometer(计步器api)

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

随机推荐

  1. 全网最详细的Hadoop HA集群启动后,两个namenode都是active的解决办法(图文详解)

    不多说,直接上干货! 这个问题,跟 全网最详细的Hadoop HA集群启动后,两个namenode都是standby的解决办法(图文详解) 是大同小异. 欢迎大家,加入我的微信公众号:大数据躺过的坑  ...

  2. Node.js 安装及环境配置之 Windows 篇

    一.安装环境 1.本机系统:Windows 10 企业版(64位)2.Node.js:node-v8.9.4-x64.msi(64位) 二.安装Node.js步骤 1.下载对应自己系统对应的 Node ...

  3. 轻量级web富文本框——wangEditor使用手册(4)——配置下拉菜单 demo

    最新版wangEditor: 配置说明:http://www.wangeditor.com/doc.html demo演示:http://www.wangeditor.com/wangEditor/d ...

  4. Ajax(javascript)案例

    一.注册案例(Get方式) 1.前台 <%@ page language="java" import="java.util.*" pageEncoding ...

  5. 装饰者模式——Java设计模式

    装饰模式 1.概念 动态地为对象附加上额外的职责 其目的是包装一个对象,从而可以在运行时动态添加新的职责.每个装饰器都可以包装另一个装饰器,这样理论上来说可以对目标对象进行无限次的装饰. 2.装饰器类 ...

  6. solr(二) : 整合ik-analyzer

    一. 问题: 在使用solr时, 分词器解析中文的时候, 是一个一个字解析的. 这并不是我们想要的结果. 而在lucene中, 使用的中文分词器是 IKAnalyzer. 那么在solr里面, 是不是 ...

  7. linux之后台运行程序 nohup和& 的区别

    1.nohup 用途:不挂断地运行命令,即使终端ssh关闭了也一直运行. 语法:nohup Command [ Arg … ] [ & ] 例:nohup start.sh & 无论是 ...

  8. Postsharp 破解工具(通杀版,持续更新)

    2019.04.18 重要说明 VS2019 正式版已经发布了,Postsharp v6.2.2-Preview(预览版)也开始支持VS2019.不过截至目前,该预览版还不是特别稳定,因此提醒下大家在 ...

  9. 表格(Table)隔行变色

    在ASP.NET的Repeater控件,实现隔行变色,是极简单的事情.因为它有ListItemType.Item和ListItemType.AlternatingItem模版.如果在普通的表格(Tab ...

  10. 深入理解.NET MemoryCache

    摘要 MemoryCache是.Net Framework 4.0开始提供的内存缓存类,使用该类型可以方便的在程序内部缓存数据并对于数据的有效性进行方便的管理,借助该类型可以实现ASP.NET中常用的 ...