简要:本系列文章讲会对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这块东西没有详细看,大家可以来和我交流

更多>>

接下来就开始撸码


高级ExpoKit主题

本指南更深入地介绍了一些不是很重要的ExpoKit主题,但您可能会遇到困难。如果您对ExpoKit不熟悉,您可能需要先阅读ExpoKit指南

取消分离(Un-detaching)

例如,如果您想要返回到仅限JS的状态,或者想要为测试目的而重复分离,可以手动“取消”分离项目。由于您的项目不会再被分离,您将不再能够使用自定义本机代码。

警告:以下说明将永久删除项目中的本机iOS和Android代码,包括您所做的任何更改。我们强烈建议您在尝试此操作之前将更改提交到版本控制。

要取消分离的做法:

  • 从你的项目中删除ios和android目录。
  • 删除isDetached并从项目的app.json中分离键。

你现在可以像普通的expo项目一样使用你的项目(没有ExpoKit)。

验证软件包(仅限iOS)(Verifying Bundles (iOS only))

当我们为您的ExpoKit项目提供空中服务(over-the-air)时,我们会包含一个签名,以便您的项目可以验证JS实际上来自我们的服务器。

默认情况下,使用ExpoKit的项目在iOS上禁用此功能并在Android上启用。我们鼓励您在iOS上启用它,以便为您的所有用户验证您的代码。

使用ExpoKit在本地项目中启用代码验证:

  • 满足这两个要求之一(你只需要一个):

    •   配置应用程序时使用非通配符包标识符(推荐)
    •   在Capabilities下的Xcode项目设置中启用Keychain Sharing。 (更快建立)
  • 在ios / your-project / Supporting / EXShell.plist中,将isManifestVerificationBypassed设置为NO(或者完全删除此密钥)。

禁用expo分析(Disabling Expo Analytics)

默认情况下,使用ExpoKit的应用程序将跟踪一些expo特定的使用情况统计。这包括在我们的隐私政策中。您可以按照以下步骤在您的应用中停用Expo分析:

在iOS上,将值EXAnalyticsDisabled添加到应用程序的主Info.plist中,值为YES。

配置JS URL

在开发中,您的ExpoKit项目将从XDE / exp请求您的本地构建。您可以在EXBuildConstants.plist(iOS)或ExponentBuildConstants(Android)中看到此配置。您不需要编辑它,因为它在您提供项目时会自动编写。

在生产环境中,您的ExpoKit项目将要求您发布的JS包。这是在EXShell.plist(iOS)和MainActivity.java(Android)中配置的。如果您想在iOS中指定自定义行为,则还可以设置[ExpoKit sharedInstance] .publishedManifestUrlOverride属性。

在iOS上启用可选展示模块

一些Expo模块不包含在由exp build生成的独立iOS应用程序中。通常这是因为他们向二进制文件添加了不成比例的膨胀量,或者因为它们包含受额外Apple审查指导原则支配的API。现在这些模块是:

  • FaceDetector
  • ARKit
  • Payments

如果你想在你的Expo iOS应用程序中使用这些模块中的任何一个,你需要分离到ExpoKit而不是使用exp build。 (这是我们的改进之路。)在您的ExpoKit项目中,您需要在Podfile中包含相应的subspec。默认情况下,不包含任何内容。

使用DocumentPicker(Using DocumentPicker)

在iOS Expokit项目中,DocumentPicker模块需要iCloud权利才能正常工作。如果您的应用程序尚未安装,则可以通过在Xcode中打开项目并按以下步骤添加它:

  • 在项目中,转到功能选项卡。
  • 将iCloud开关设置为打开。
  • 检查iCloud文件复选框。

如果一切正常,你的屏幕应该是这样的:


下一张继续介绍,这一篇主要介绍了:expo中expo kit 高级属性,欢迎大家关注我的微信公众号,这篇文章是否被大家认可,我的衡量标准就是公

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

Expo大作战(二十三)--expo中expo kit 高级属性(没干货)的更多相关文章

  1. Expo大作战(二十)--expo中的Release channels(不重要*)

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

  2. Expo大作战(三十三)--expo sdk api之MapView(地图),MailComposer(磁力传感计),Lottie(动画)

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

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

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

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

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

  5. Expo大作战(二十七)--expo sdk api之Util(expo自带工具类),tackSnapshotAsync,Svg,SQLite

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

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

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

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

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

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

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

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

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

随机推荐

  1. Mysql大数据表优化处理

    原文链接: https://segmentfault.com/a/1190000006158186 当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表 ...

  2. github绑定自己的域名

    1.进入需要绑定域名的项目里面,然后新建一个文件CNAME,没有后缀的. 2.在文件里面输入你的域名,然后保存.github这边就完成了. 3.然后去你购买域名的网站,进入控制台,找到域名,然后域名解 ...

  3. es-06-java创建mapping和setting

    说实话, java的方式太繁琐, 不如直接使用DSL进行创建 1, create package com.wenbronk.elasticsearch.usage.index; import com. ...

  4. JDBC中链接数据库前为什么要用Class.forName(驱动类)加载驱动类?

    使用JDBC链接数据库时,为什么要先使用Class.forName(String name)来加载类? 答: 实际上就是为了加载类时,调用静态初始化块中的注册函数. 可以看一下MySql的Driber ...

  5. 各大APP注册时发送短信验证码是怎么实现的?

    第一步:获得验证码:1.找到相关的表.2.用什么发送,post,get ,ajax,当然ajax首选3.post之前要js先判断是手机号码11位,并且全部都是数字,或者用正则也行.4.用ajax发送数 ...

  6. (转)Spring常用注解

    使用注解来构造IOC容器 用注解来向Spring容器注册Bean.需要在applicationContext.xml中注册<context:component-scan base-package ...

  7. Struts2开发基础

    Struts2开发基础 struts2采用拦截器的机制来处理用户的请求,使得业务逻辑控制器能够与ServletAPI完全脱离开. 1. Hello World! 配置web.xml <?xml ...

  8. [转]Magento on Steroids – Best practice for highest performance

    本文转自:https://www.mgt-commerce.com/blog/magento-on-steroids-best-practice-for-highest-performance/ Th ...

  9. js 时间格式与时间戳的相互转换示例代码

    一.时间转换时间戳 function transdate(endTime){ var date=new Date(); date.setFullYear(endTime.substring(0,4)) ...

  10. Mybatis标签bind用法

    Mybatis使用bind元素进行模糊查询,不用在乎数据库是mysql还是oracle从而提高可移植性 使用bind元素传递多个参数 public List<Student> findSt ...