簡體   English   中英

如何使用React Native為IOS正確安裝Facebook Ads

[英]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.

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