![](/img/trans.png)
[英]How do you properly emit and receive an event from a bridged iOS module to JavaScript using React Native?
[英]How to properly install Facebook Ads for IOS using React Native
嘗試通過IOS啟動我的應用程序時,我在React Native中收到警告:
“模塊AdChoiceManager需要設置主隊列,因為它會覆蓋'init'但不會實現'requiresMainQueueSetup'。在未來的版本中,除非明確選擇退出,否則React Native將默認在后台線程上初始化所有本機模塊。”
在我的Podfile中,我有這些
pod 'react-native-fbsdk', :path => '../node_modules/react-native-fbsdk'
pod 'FBAudienceNetwork', '~> 5.1.0'
我得到錯誤:
[!] /bin/bash -c
set -e
npm install --production
/bin/bash: line 2: npm: command not found
所以我嘗試了這個:
pod 'FBAudienceNetwork', '~> 5.1.0'
pod 'FacebookSDK'
pod 'FBSDKShareKit'
pod 'FBSDKLoginKit'
一切都安裝了,但我仍然收到警告。 它可以在Android上正常運行,但我不確定如何在不警告IOS的情況下使Facebook Ads正常運行。
我的問題是,如何解決此問題/警告? 我已經嘗試了好幾天才能將其從屏幕上刪除,但無濟於事。
這是依賴的問題。 這不是主要問題,但是將來需要依賴維護者進行修復。
它與運行依賴項的隊列/線程有關。 它僅影響iOS。
您目前無法刪除警告。
您可以隱藏黃色警告框,但仍將警告記錄在控制台中。
import { YellowBox } from 'react-native';
YellowBox.ignoreWarnings(['Module AdChoiceManager requires main queue setup since']);
https://facebook.github.io/react-native/docs/debugging#in-app-errors-and-warnings
我不是100%確信這是用於阻止它的正確文本,但是會與此類似。 通常我只是警告開頭的文字
解決此問題的唯一方法是將其修復為自身依賴項。 您將必須派生導致問題的存儲庫,進行更改,創建拉取請求,然后等待Facebook合並您的更改。 等待期間,您可以使用自己的叉子。
在正確的文件內,它將以... Manager.m
結尾... Manager.m
您只需添加行
+ (BOOL) requiresMainQueueSetup { return YES; }
取決於他們如何設置依賴關系,可能有多個地方需要這樣做。 當您告訴依賴項需要哪個隊列時,這將停止警告。
警告,您現在必須維護自己的依賴版本,直到Facebook實現您的拉取請求為止。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.