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

简要:本系列文章讲会对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 高级属性(没干货)的更多相关文章
- Expo大作战(二十)--expo中的Release channels(不重要*)
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(三十三)--expo sdk api之MapView(地图),MailComposer(磁力传感计),Lottie(动画)
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(二十九)--expo sdk api之registerRootComponent(注册跟组件),ScreenOrientation(屏幕切换),SecureStore,
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(二十八)--expo sdk api之Speach(语音文字转换),Segment
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(二十七)--expo sdk api之Util(expo自带工具类),tackSnapshotAsync,Svg,SQLite
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(二十六)--expo sdk api之Video和WebBrowser
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(二十五)--expo sdk api之Admob
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(二十四)--expo sdk api之Accelerometer
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(二十二)--expo分离后的部署(expokit)
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
随机推荐
- Git for Windows之推送本地版本库到远程仓库
Git for Windows之基础环境搭建与基础操作中介绍了Git基本环境的构建与基本的操作.生成了一个本地git版本库,本文将介绍如何将这个版本库推送到远程仓库(码云,github也可以). 1. ...
- C++中:默认构造函数、析构函数、拷贝构造函数和赋值函数——转
对于一个空类,编译器默认产生4个成员函数:默认构造函数.析构函数.拷贝构造函数和赋值函数.1.构造函数:构造函数是一种特殊的类成员,是当创建一个类的时候,它被调用来对类的数据成员进行初始化和分配内存. ...
- Error:Could not determine the class-path for interface com.android.builder.model.AndroidProject.
Android Studio导入Eclipse项目报错Error:Could not determine the class-path for interface com.android.builde ...
- 读书笔记(05) - 事件 - JavaScript高级程序设计
HTML依托于JavaScript来实现用户与WEB网页之间的动态交互,接收用户操作并做出相应的反馈,而事件在此间则充当桥梁的重要角色. 日常开发中,经常会为某个元素绑定一个事件,编写相应的业务逻辑, ...
- screen 实战后台命令执行备份
一.安装 [root@vmware ~]# yum install -y screen 二.直接在命令行键入 screen 命令 [root@vmware ~]# screen 三.暂时终端会话 那么 ...
- paxos协议
两将军问题 有两支军队,它们分别有一位将军领导,现在准备攻击一座修筑了防御工事的城市. 这两支军队都驻扎在那座城市的附近,分占一座山头. 一道山谷把两座山分隔开来,并且两位将军唯一的通信方式就是派各自 ...
- 浅析Session和Cookie
Cookie Cookie的作用,就是当一个用户通过http访问一个服务器时,这个服务器会将一些key/value键值对返回给客户端浏览器,并给这些数据加上一些限制条件,在条件符合时这个用户访问该 ...
- 异常处理:net.sf.cglib.beans.BulkBeanException
今天下午由于各种开会,断断续续写得代码,单元测试的时候,老是报如题的错误,后来查阅资料,发现原来是从数据库查询的值如果为空,则对应实体类执行set方法会赋值null给对应属性值,但是我当时的几个值偏偏 ...
- 装饰器(Decorator)模式
1 装饰模式能够实现动态的为对象添加功能,是从一个对象外部来给对象添加功能.通常给对象添加功能,要么直接修改对象添加相应的功能,要么派生对应的子类来扩展,抑或是使用对象组合的方式.显然,直接修改对应 ...
- Javascript权威指南阅读笔记--第3章类型、值和变量(1)
之前一直有个想法,好好读完JS权威指南,便于自己对于JS有个较为全面的了解.毕竟本人非计算机专业出生,虽然做着相关行业的工作,但总觉得对于基础的掌握并没有相关专业学者扎实,正好因为辞职待业等原因,还是 ...