React Native 鏈接原生庫的方法


並不是所有的APP都需要使用全部的原生功能,包含支持全部特性的代碼會增大應用的體積。但是仍然要根據自己的需求添加需要的特性。

React Native 發佈的所有庫都在倉庫中的Libraries文件夾下。其中有一些是純JavaScript代碼,只需要去require它們就可以使用了。另外有一些庫基於一些原生代碼實現,必須把這些文件添加到你的應用,否則應用會在你使用這些庫的時候產生報錯。

添加包含原生代碼的庫的方式有兩種:自動鏈接和手動鏈接

一、自動連接

  1. 安裝一個帶原生依賴的庫:  $   yarn add   某個帶有原生依賴的庫
  2. 運行一下命令:

$   react-native link

   它會根據Package.json文件中的dependenciesdevDependencies記錄來鏈接所有需要鏈接的庫

二、手動鏈接

   1.如果該庫包含原生代碼,那麼在它的文件夾下一定會有一個.xcodeproj文件,把這個文件拖到你的Xcode工程下(通常拖到XcodeLibraries分組裏面)


  1. 點擊你的主工程文件,選擇Build Phases,然後把剛纔所添加進來的.xcodeproj下的Products文件夾中的靜態文件(.a文件),拖到Link Binary With Libraries組內。

3.不是所有的庫都需要進行這個步驟,你需要考慮的問題在於:

我需要在編譯的期間瞭解庫的內容嗎?

這個問題的意思是,你是需要在原生代碼中使用這個庫,還是只需要通過JavaScript訪問?如果你只需要通過JavaScript訪問這個庫,你就可以跳過這步了。

這一步驟對於我們隨React Native發佈的大部分庫來說都不是必要的,但有兩個例外是PushNotificationIOSLinkingIOS

PushNotificationIOS爲例,你需要在AppDelegate每收到一條推送通知之後,調用庫中的一個方法。

這種情況下我們需要能夠訪問到庫的頭文件。爲了能夠順利打包,你需要打開你的工程文件,選擇Build Settings,然後搜索Header Search Paths,然後添加庫所在 的目錄(如果它還有像React這樣的子目錄需要包含,注意要選中recursive選項)




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章