并不是所有的APP都需要使用全部的原生功能,包含支持全部特性的代码会增大应用的体积。但我们仍然希望能让你简单地根据自己的需求添加需要的特性。

在这种思想下,我们把许多特性都发布成为互不相关的静态库。

大部分的库只需要拖进两个文件就可以使用了,偶尔你还需要几步额外的工作,但不会再有更多的事情要做了。

我们随着React Native发布的所有库都在仓库中的Libraries文件夹下。其中有一些是纯Javascript代码,你只需要去require它们就可以使用了。另外有一些库基于一些原生代码实现,你必须把这些文件添加到你的应用,否则应用会在你使用这些库的时候产生报错。

添加包含原生代码的库需要几个步骤:

自动链接

"rnpm"是一个社区项目,可以提供原生依赖的自动链接。

第一步

首先安装rnpm:

$ npm install rnpm -g

注意: rnpm需要node 4.1或更高版本。

第二步

安装一个带原生依赖的库:

$ npm install <library-with-native-dependencies> --save

注意: 这一步中--save--save-dev参数是非常重要的。rnpm需要根据package.json文件中的dependenciesdevDependencies记录来链接库。

第三步

链接原生依赖:

$ rnpm link

完成了!现在所有的原生依赖都成功地链接到你的iOS/Android项目了。

手动链接

第一步

如果该库包含原生代码,那么在它的文件夹下一定有一个.xcodeproj文件。 把这个文件拖到你的XCode工程下(通常拖到XCode的Libraries分组里)

第二步

点击你的主工程文件,选择Build Phases,然后把刚才所添加进去的.xcodeproj下的Products文件夹中的静态库文件(.a文件),拖到Link Binary With Libraries组内。

第三步

不是所有的库都需要进行这个步骤,你需要考虑的问题在于:

我需要在编译的期间了解库的内容吗?

这个问题的意思是,你是需要在原生代码中使用这个库,还是只需要通过JavaScript访问?如果你只需要通过JavaScript访问这个库,你就可以跳过这步了。

这一步骤对于我们随React Native发布的大部分库来说都不是必要的,但有两个例外是PushNotificationIOSLinkingIOS

PushNotificationIOS为例,你需要在AppDelegate每收到一条推送通知之后,调用库中的一个方法。

这种情况下我们需要能够访问到库的头文件。为了能够顺利打包,你需要打开你的工程文件,选择Build Settings,然后搜索Header Search Paths,然后添加库所在的目录(如果它还有像React这样的子目录需要包含,注意要选中recursive选项)

本文转自React Native中文网:http://reactnative.cn/docs/0.20/linking-libraries-ios.html#content

React Native使用指南-使用链接库相关推荐

  1. React Native开发指南-在原生和React Native间通信

    通过植入原生应用和原生UI组件两篇文档,我们学习了React Native和原生组件的互相整合.在整合的过程中,我们会需要在两个世界间互相通信.有些方法已经在其他的指南中提到了,这篇文章总结了所有可行 ...

  2. React Native使用指南-原生UI组件

    在如今的App中,已经有成千上万的原生UI部件了--其中的一些是平台的一部分,另一些可能来自于一些第三方库,而且可能你自己还收藏了很多.React Native已经封装了大部分最常见的组件,譬如Scr ...

  3. React Native使用指南-原生模块

    有时候App需要访问平台API,但React Native可能还没有相应的模块封装:或者你需要复用Objective-C.Swift或C++代码,而不是用JavaScript重新实现一遍:又或者你需要 ...

  4. react native 使用阿里字体图标库

    前言 本文基于 "react-native": "^0.70.0" 1.下载iconfont图标文件 将iconfont图标文件放置在src/assets/fo ...

  5. React Native学习指南

    本篇汇集了React从入门到精通的各种技术,是你学习RN的指南 . 本指南汇集React-Native各类学习资源,给大家提供便利.指南正在不断的更新,大家有好的资源欢迎Pull Requests! ...

  6. React Native使用指南-植入原生应用

    由于React并没有假设你其余部分的技术栈--它通常只作为MVC模型中的V存在--它也很容易嵌入到一个并非由React Native开发的应用当中.实际上,它可以和常见的许多工具结合,譬如CocoaP ...

  7. React Native使用指南-在设备上运行

    注意在iOS设备上运行React Native应用需要一个Apple Developer account并且把你的设备注册为测试设备.本向导只包含React Native相关的主题. 译注:从XCod ...

  8. React Native 版本升级指南

    前言 React Native 作为一款跨端框架,有一个最让人头疼的问题,那就是版本更新.尤其是遇到大版本更新,JavaScript.iOS 和 Android 三端的配置构建文件都有非常大的变动,有 ...

  9. 【独家】React Native 版本升级指南

    前言 React Native 作为一款跨端框架,有一个最让人头疼的问题,那就是版本更新.尤其是遇到大版本更新,JavaScript.iOS 和 Android 三端的配置构建文件都有非常大的变动,有 ...

最新文章

  1. 弹出窗口显示输出内容_PCB生产文件输出流程
  2. codeforces 667B B. Coat of Anticubism(水题)
  3. jvm性能调优实战 -52修复堆内存区域内存溢出问题OutOfMemoryError: Java heap space
  4. 继承ViewGroup:重写onMeasure方法和onLayout、requestlayout方法
  5. java short 写法_Java Short longValue()用法及代码示例
  6. Vue Router的详细教程
  7. 在Linux使用exec执行命令时报的哪些错
  8. css的white-space属性导致了空格问题——查看十六进制发现2020变成了c2a0
  9. 怎么自学python-你们都是怎么学 Python 的?
  10. Security+ 学习笔记29 虚拟化
  11. Android AsyncTask 源码解析(任玉刚版)
  12. 周育如的音标口诀大全_一年级汉语音标口诀记忆方法
  13. 2021 编程语言排行榜出炉!
  14. java heartbeat
  15. 面试系列-1 大厂面试幂等性
  16. 学习C语言的一些感悟
  17. 物联网传感器61个应用领域
  18. RTL概念与常用RTL建模
  19. C++计算机二级操作题(二)
  20. 飞思卡尔智能车 电机PID

热门文章

  1. 常用命令之------ln
  2. SpringMVC核心——视图渲染(包含视图解析)问题
  3. Java知多少(28)super关键字
  4. [转]暴牛!全国女生录用老公统一考试试卷
  5. java script 技巧_java script 技巧
  6. linux系统安装显卡驱动卡顿,关于Ubuntu16.04上N卡驱动导致滚动屏幕卡顿问题
  7. java游戏应龙女魃转世_应龙和女魃的凄美爱情,究竟是爱情,还是阴谋?
  8. ns3 统计一个包所经历的时延_【直击UDE2020】显示链接的智慧生活,你我正在经历...
  9. oracle把时间段转换成每一天_在家办公难适应?来看看专职外汇交易员的一天
  10. matlab trendsurface,MATLAB 添加新的预测性维护产品