简要:本系列文章讲会对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是一个Objective-C和Java库,允许您使用本地iOS / Android项目的expo平台。

在阅读本指南之前

有两种方法可以获得ExpoKit项目:

  • 在XDE中创建一个纯JS项目,然后使用exp detach添加ExpoKit。
  • 使用create-react-native-app创建应用程序,然后选择“eject with ExpoKi”。

在继续阅读本指南之前,请确保遵循上述路径之一。本指南的其余部分将假设您已经创建了一个ExpoKit项目。

设置您的项目(setting up your project)

到此为止,您应该有一个JS应用程序,其中还包含ios和android目录。

1.检查JS依赖关系

你的项目的package.json应该包含一个指向Expo fork Native分支的react-native依赖项。这应该已经配置好了。

您的JS依赖关系应该已经安装(通过npm install或yarn)。

2.在XDE或exp中运行项目

在XDE中打开项目。如果您已经在XDE中运行此项目,请按重新启动。

如果你喜欢exp,从项目目录运行exp start。

这一步确保React Native打包程序正在运行并为您的应用程序的JS包提供开发服务。保持这种运行状态并继续执行以下步骤。

3. iOS:配置,构建和运行(iOS: Configure, build and run)

这一步确保本地iOS项目被正确配置并准备开发。

  • 确保你有最新的Xcode。
  • 如果您还没有安装,请安装CocoaPods,它是iOS的本地依赖管理器。
  • 从项目的ios目录运行pod install。
  • 在Xcode中打开项目的xcworkspace文件。
  • 使用Xcode在您的测试设备或模拟器上构建,安装和运行项目。 (如果您点击Xcode中的大“播放”按钮,默认情况下会发生这种情况。)

一旦它运行,iOS应用程序就会自动从您从XDE或exp提供的项目中请求您的JS包。

4. Android:构建并运行

在Android Studio中打开android目录,然后在Android设备或Genymotion仿真器上构建并运行该项目。

打开项目时,Android Studio可能会提示您升级Gradle或其他构建工具的版本,但不要这样做,因为您可能会收到意想不到的结果。 ExpoKit总是附带所有构建工具的最新支持版本。

一旦Android项目正在运行,它应该自动从XDE或exp请求您的开发网址。你可以从这里正常开发你的项目。

继续部署

每次开发时,都要确保项目的JS由XDE提供服务(步骤2),然后分别从Xcode或Android Studio运行本机代码。

您的ExpoKit项目被配置为在您构建发布的网址时加载您的应用的发布网址(Your ExpoKit project is configured to load your app’s published url when you build it for r)。所以当你想发布它时,不要忘记发布,就像任何正常的(非ExpoKit)项目一样。

改变本地依赖(Changing Native Dependencies)

  iOS版

您的ExpoKit项目使用CocoaPods管理其依赖关系。

React Native生态系统中的许多库都包含运行react-native link 的说明。这些支持iOS的ExpoKit。

如果库支持CocoaPods(具有.podspec文件),只需按照正常的说明并运行react-native link 即可。

如果库不支持CocoaPods,react-native链接可能无法包含库的头文件。如果您遇到构建问题(查找<React / *>标题),则可能需要手动将Pods / Headers / Public添加到您在Xcode中的本机依赖项的Header Search Paths配置。如果您不熟悉Xcode,那么搜索Xcode可以帮助您“配置构建设置”以了解这些工作方式。标题搜索路径就是这样一个构建设置。您关心配置的目标是由您的Xcode项目内的react-native链接创建的目标。您需要确定从库到Pods / Headers / Public的相对路径。

  Android版

React Native生态系统中的许多库都包含运行react-native link 的说明。这些支持与Android的ExpoKit。

升级ExpoKit

ExpoKit的发布周期遵循Expo SDK发布周期。当新版本的Expo SDK发布时,发行说明中包含了针对项目正常的仅JS部分的升级说明。此外,您需要更新本机ExpoKit代码。

注意:在继续下面的指示之前,请确保你已经更新了你的JS依赖关系。此外,这里可能会涉及版本特定的重大更改。

  iOS版

  • 在您的项目中打开ios / Podfile,并更新ExpoKit标记以指向与您的SDK版本相对应的版本。重新运行pod安装。
  • 在项目中打开ios / your-project / Supporting / EXSDKVersions.plist,并将所有值更改为新的SDK版本。

  Android版

  • 转到https://expo.io/-/api/v2/versions并在sdkVersions下找到androidExpoViewUrl键[NEW SDK VERSION]。
  • 下载.tar.gz文件并将其解压。
  • 转到您项目的.expo-source / android目录,并用您下载的文件替换为android目录。
  • 转到MainActivity.java并用Arrays.asList(“[NEW SDK VERSION]”)替换Arrays.asList(“[旧SDK版本]”)。
  • 转到build.gradle并替换compile('host.exp.exponent:expoview:[OLD SDK VERSION] @aar'){with compile('host.exp.exponent:expoview:[NEW SDK VERSION] @aar'){ 。

下一张继续介绍,这一篇主要介绍了:到最后我已经不知道他在说什么了,配置这些东西,最好就是亲自试一试,欢迎大家关注我的微信公众号,这篇文章是否被大家认可,我的衡量标准就是公

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

Expo大作战(二十二)--expo分离后的部署(expokit)的更多相关文章

  1. Expo大作战(三十二)--expo sdk api之Noifications

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

  2. Expo大作战(三十九)--expo sdk api之 DocumentPicker,Contacts(获取手机联系人信息),Branch

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

  3. Expo大作战(三十八)--expo sdk api之 FileSystem(文件操作系统)

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

  4. Expo大作战(三十六)--expo sdk api之 ImagePicker,ImageManipulator,Camera

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

  5. Expo大作战(三十五)--expo sdk api之Location!

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

  6. Expo大作战(三十四)--expo sdk api之LinearGradient(线性渐变),KeepAwake(保持屏幕不休眠),IntentLauncherAndroid,Gyroscope,

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

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

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

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

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

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

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

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

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

随机推荐

  1. vue中请求本地的json数据

    为什么要请求本地的数据?模拟后台的请求数据,验证页面的逻辑是否存在问题,抛开后台提前开发等. 常用的说来有:jq的方式 约等于 axios的方式,vuex状态管理的方式 个人认为最好用的就是jq的方式 ...

  2. 使用.NET Core与Google Optimization Tools实现员工排班计划Scheduling

    上一篇说完<Google Optimization Tools介绍>,让大家初步了解了Google Optimization Tools是一款约束求解(CP)的高效套件.那么我们用.NET ...

  3. vue.js过渡效果之--javascript钩子

    写在前面 姊妹篇  vue.js之过渡效果-css.今天一篇博文阅读量破300,心里还是有点小激动的.没错,我就是这么容易满足(害羞).这个数据可能连大牛一篇文章阅读量的零头都没有,但这却是我个人的一 ...

  4. 自制“低奢内”CSS3登入表单,包含JS验证,请别嫌弃哦。

    要求 必备知识 基本了解CSS语法,初步了解CSS3语法知识.和JS/JQuery基本语法. 开发环境 Adobe Dreamweaver CS6 演示地址 演示地址 预览截图(抬抬你的鼠标就可以看到 ...

  5. Linux 启动过程详解

    目录 1. Linux启动过程 2. 启动过程概述 3. 引导加载阶段 4. 内核阶段 4.1 内核加载阶段 4.2 内核启动阶段 5. 早期的用户空间 6. 初始化过程 6.1 SysV init ...

  6. java中 immutable,future,nio

    什么是Future? 用过Java并发包的朋友或许对Future (interface) 已经比较熟悉了,其实Future 本身是一种被广泛运用的并发设计模式,可在很大程度上简化需要数据流同步的并发应 ...

  7. PHP7最高性能优化建议

    PHP7已经发布了, 作为PHP10年来最大的版本升级, 最大的性能升级, PHP7在多放的测试中都表现出很明显的性能提升, 然而, 为了让它能发挥出最大的性能, 我还是有几件事想提醒下. PHP7 ...

  8. [转]C# Bootstrap table之 分页

    本文转自:https://www.cnblogs.com/zhangjd/p/7895453.html 效果如图: 一.声明talbe <div class="container&qu ...

  9. 念念不忘,ASP.NET MVC显示WebForm网页或UserControl控件

    学习与使用ASP.NET MVC这样久,还是对asp.net念念不忘.能否在asp.net mvc去显示aspx或是user control呢?这个灵感(算不上灵感,只能算是想法)是来自前些天有写过一 ...

  10. Jquery插件的使用及制作插件

    常用插件 插件:jquery不可能包含所有的功能,我们可以通过插件扩展jquery的功能. jQuery有着丰富的插件,使用这些插件能给jQuery提供一些额外的功能. jquery.color.js ...