2016-06-27 48 views
2

我在iOS上遇到React Native模塊的問題。我在Objective-C中編寫了一個模塊,並使用RCT_EXPORT_MODULE(@"tracker");來導出模塊並將其展示給React Native。但是,當我打印出NativeModules的內容時,它不包含該模塊。如何在iOS上註冊React Native模塊

import { NativeModules } from 'react-native'; 
console.log("Native modules:", NativeModules); 

我也在Java(Android)中編寫了類似的模塊,這工作得很好。然而,對於Android模塊,我知道你必須在MainActivity類中註冊它們。我在想我錯過了類似iOS的東西,但是在React Native文檔的任何地方都找不到它。

如果有人能幫助我,我將不勝感激。

回答

2

在iOS模塊上自動註冊。 該橋通過查詢實現RCTBridgeModule協議的所有類來完成此操作。

如果你沒有看到你的模塊,這意味着某處丟失了某些東西。

一種可能性是您的ObjC類不作爲應用程序目標的一部分進行編譯。 在這種情況下,打開Xcode並檢查您的{your_module}.m屬於您的應用程序的目標。

實施例與來自F8 sample appF8Scrolling模塊:

enter image description here

+0

感謝您的回答。我剛剛找到它並修復了它:)。必須手動將模塊作爲庫添加到項目中。這基本上是一樣的東西(我認爲?) –

+0

是的!很高興現在可以工作。 –

相關問題