Linking Libraries
Linking Libraries
需要本机代码的项目
此页面仅适用于react-native init
使用Create React Native App 制作的或使用此类应用程序弹出的项目。有关弹出的更多信息,请参阅创建React Native App存储库的指南。
并非所有应用程序都使用所有本机功能,并且包含支持所有这些功能的代码都会影响二进制大小......但我们仍然希望在需要时随时添加这些功能。
考虑到这一点,我们将这些功能中的很多作为独立的静态库进行了展示
对于大多数库文件来说,只需拖动两个文件就可以了,有时候需要进行第三步,但不能超过这个步骤。
我们随React Native一起提供的所有库都
位于存储库根目录中的文件夹中。其中一些是纯粹的JavaScript,你只需要它。其他库也依赖于一些本地代码,在这种情况下,您将不得不将这些文件添加到您的应用程序,否则应用程序会尝试使用该库时会引发错误。Libraries
require
以下是链接包含本机代码的库的几个步骤
自动链接
Step 1
使用本地依赖项安装库:
$ npm install <library-with-native-dependencies> --save
注意:
或者标志对于这一步非常重要。反应原住民将基于链接的库,并在你的文件。--save
--save-dev
dependencies
devDependencies
package.json
Step 2
链接您的本地依赖项:
$ react-native link
完成!所有具有本机依赖性的库应该成功链接到您的iOS / Android项目。
手动链接
Step 1
如果库具有本机代码,则其.xcodeproj
文件夹内必须有文件。将此文件拖放到Xcode上的项目中(通常在Libraries
Xcode 的组下);
Step 2
单击您的主项目文件(代表该文件的文件.xcodeproj
),Build Phases
然后从Products
您要导入的库内的文件夹中选择并拖动静态库Link Binary With Libraries
Step 3
不是每个图书馆都需要这一步,你需要考虑的是:
我需要在编译时了解库的内容吗?
这意味着什么,你是在本地使用这个库还是只使用JavaScript?如果你只是在JavaScript中使用它,那么你很好!
对于我们随React Native一起提供的库,除了PushNotificationIOS
和之外,此步骤不是必需的Linking
。
在的情况下PushNotificationIOS
,例如,你必须从你的呼吁库的方法AppDelegate
收到一个新的推送通知每次。
为此,我们需要知道库的标题。为了实现这一点,你必须去你的项目文件,选择Build Settings
并搜索Header Search Paths
。在那里,你应该包括你的库的路径(如果它在子目录上有相关的文件记得做recursive
,就像React
例子中那样)。