链接库
并非每个应用都使用所有原生功能,并且包含支持所有这些功能的代码会影响二进制文件的大小……但我们仍然希望在您需要时支持添加这些功能。
考虑到这一点,我们将许多这些功能作为独立的静态库公开。
对于大多数库,只需拖动两个文件即可,有时需要第三步,但仅此而已。
我们随 React Native 提供的所有库都位于仓库根目录的 Libraries 文件夹中。其中一些是纯 JavaScript,您只需要 require
它即可。其他库也依赖于一些原生代码,在这种情况下,您必须将这些文件添加到您的应用中,否则当您尝试使用该库时,应用会立即抛出错误。
以下是链接包含原生代码的库的几个步骤
自动链接
安装带有原生依赖的库
npm install <library-with-native-dependencies> --save
--save
或 --save-dev
标志对于此步骤非常重要。React Native 将根据您的 package.json
文件中的 dependencies
和 devDependencies
链接您的库。
就是这样!下次构建您的应用时,原生代码将由于 自动链接 机制链接。
手动链接
步骤 1
如果库具有原生代码,则其文件夹内必须有一个 .xcodeproj
文件。将此文件拖到 Xcode 上的项目中(通常在 Xcode 上的 Libraries
组下);
步骤 2
单击您的主项目文件(代表 .xcodeproj
的文件),选择 Build Phases
,然后将静态库从您要导入的库内的 Products
文件夹拖到 Link Binary With Libraries
步骤 3
并非每个库都需要此步骤,您需要考虑的是
我是否需要在编译时知道库的内容?
这意味着,您是在原生端还是仅在 JavaScript 中使用此库?如果您仅在 JavaScript 中使用它,那么您就可以开始了!
如果您确实需要从原生端调用它,那么我们需要知道库的头文件。为此,您必须转到您的项目文件,选择 Build Settings
并搜索 Header Search Paths
。在那里,您应该包含库的路径。(本文档过去建议使用 recursive
,但现在不再建议这样做,因为它可能会导致细微的构建失败,尤其是在使用 CocoaPods 时。)