簡體   English   中英

Swift中的React-native iOS橋接模塊

[英]React-native iOS Bridging module in Swift

我想創建一個本機模塊,以便在我的react-native項目中使用它。 特殊之處在於我想使用Swift語言。

因此,我使用react-native init命令創建了一個新的RN項目。

這是我的軟件包依賴關系:

  • RN(0.59.5)
  • 反應(16.8.3)

我在node_modules目錄中創建了一個名為react-native-hello-world的目錄,以便1)通過簡單的示例進行訓練2)模擬我將來的Npm包。

在此目錄中,我創建了HelloWorld.xcodeproj。

-- nodes_modules
   -- react-native-hello-world
      -- ios/
         -- HelloWorld/
            -- HelloWorld.xcodeproj
            -- HelloWorld/
               -- HelloWorld.swift
               -- HelloWorld-Bridging-Header.h

正如我提到的,我想使用Swift創建此模塊。 因此,正如RN文檔所述,我使用XCode創建了橋接頭文件。

那是我的問題開始的時候...當我添加

#import <React/RCTBridgeModule.h>

在我的HelloWorld-Bridging-Header.h文件中發生錯誤,並說未找到'React / RCTBridgeModule.h'文件

我試圖清理我的項目,甚至刪除我的派生數據,但仍然出現此錯誤。

我什至在目標的標頭搜索路徑中添加了React的.h文件。

$(SRCROOT)/../../../react-native/React  //recursive

但是我仍然有這個錯誤...我不明白為什么我認為我做了我必須做的所有事情。 所以也許我們不能使用Swift創建本機模塊?

有人可以告訴我我是否犯了一個錯誤,或者他們是否已經設法告訴我該怎么做?

一些幫助將不勝感激,

謝謝 :)

如果您只有對等方依賴項,然后嘗試打開HelloWorld.xcodeproj (據我了解,這是您的模塊),它將無法正常工作,因為您的custom_module文件夾中沒有node_modules。

  1. a)將此模塊添加到您的主項目package.json

    “ dependencies”:{“ react-native-hello-world”:“ file:custom_modules / RNHelloWorld”,...}

  2. npm安裝

  3. 打開您的PROJECT_NAME / ios / PROJECT_NAME.xcodeproj

  4. 如您所見,您的RNHelloWorld已添加到您的庫中

  5. 您可以在此處開始使用自定義模塊,而RCTBridgeModule的錯誤將消失,因為您將libReact.a放入了帶有Binaries的鏈接庫中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM