跳到主要內容

連結程式庫

並非每個應用程式都會使用到所有的原生功能,而且包含支援所有這些功能的程式碼會影響二進制檔案的大小... 但我們仍然希望在您需要時支援新增這些功能。

考慮到這一點,我們將許多這些功能作為獨立的靜態程式庫公開。

對於大多數程式庫來說,這會像拖曳兩個檔案一樣快速,有時需要第三個步驟,但僅此而已。

注意

我們隨 React Native 提供的所有程式庫都位於儲存庫根目錄的 Libraries 資料夾中。其中一些是純 JavaScript,您只需要 require 即可。其他程式庫也依賴一些原生程式碼,在這種情況下,您必須將這些檔案新增到您的應用程式中,否則當您嘗試使用該程式庫時,應用程式會立即拋出錯誤。

自動連結

安裝具有原生依賴項的程式庫

shell
npm install <library-with-native-dependencies> --save
資訊

--save--save-dev 標記對於此步驟非常重要。React Native 將根據您 package.json 檔案中的 dependenciesdevDependencies 連結您的程式庫。

就是這樣!下次您建置應用程式時,由於 自動連結 機制,原生程式碼將被連結。

手動連結

步驟 1

如果程式庫有原生程式碼,則其資料夾內必須有一個 .xcodeproj 檔案。將此檔案拖曳到 Xcode 上的專案中(通常在 Xcode 上的 Libraries 群組下);

步驟 2

點擊您的主要專案檔案(代表 .xcodeproj 的檔案),選擇 Build Phases,然後將靜態程式庫從您要匯入的程式庫內的 Products 資料夾拖曳到 Link Binary With Libraries

步驟 3

並非每個程式庫都需要此步驟,您需要考慮的是

我是否需要在編譯時知道程式庫的內容?

這意味著,您是在原生端還是僅在 JavaScript 中使用此程式庫?如果您僅在 JavaScript 中使用它,那就沒問題了!

如果您確實需要從原生端呼叫它,那麼我們需要知道程式庫的標頭。為了實現這一點,您必須前往您的專案檔案,選擇 Build Settings 並搜尋 Header Search Paths。在那裡,您應該包含程式庫的路徑。(本文件過去建議使用 recursive,但現在不再建議這樣做,因為它可能會導致細微的建置失敗,尤其是在使用 CocoaPods 時。)