Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用React Native为IOS正确安装Facebook广告_Javascript_Facebook_React Native_Facebook Javascript Sdk_Facebook Ads Api - Fatal编程技术网

Javascript 如何使用React Native为IOS正确安装Facebook广告

Javascript 如何使用React Native为IOS正确安装Facebook广告,javascript,facebook,react-native,facebook-javascript-sdk,facebook-ads-api,Javascript,Facebook,React Native,Facebook Javascript Sdk,Facebook Ads Api,尝试通过IOS启动我的应用程序时,我在React Native中收到警告: “模块AdChoiceManager需要设置主队列 因为它覆盖了'init',但没有实现 “requiresMainQueueSetup”。在将来的版本中 React Native将默认初始化后台线程上的所有本机模块,除非明确选择退出。” 在我的播客文件中,我有这些 pod 'react-native-fbsdk', :path => '../node_modules/react-native-fbsdk' pod

尝试通过IOS启动我的应用程序时,我在React Native中收到警告:

“模块AdChoiceManager需要设置主队列 因为它覆盖了'init',但没有实现 “requiresMainQueueSetup”。在将来的版本中 React Native将默认初始化后台线程上的所有本机模块,除非明确选择退出。”

在我的播客文件中,我有这些

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'
一切都已安装,但我仍然收到警告。它在安卓系统上运行良好,我只是不知道如何在没有IOS警告的情况下让Facebook广告正常工作


我的问题是,如何解决此问题/警告?我几天来一直试图把它从屏幕上删除,但都没有用

这是依赖项的问题。这不是一个主要问题,但将来需要依赖项维护人员进行修复

这与运行依赖项的队列/线程有关。它只影响iOS

目前,您无法删除该警告

您可以只隐藏黄色警告框,但它仍将在控制台中记录警告

import { YellowBox } from 'react-native';

YellowBox.ignoreWarnings(['Module AdChoiceManager requires main queue setup since']); 

我不能100%确定这是用于阻止它的正确文本,但它将类似于此。通常我只是从警告的开头开始写

解决问题
解决此问题的唯一方法是在依赖关系中自行修复它。您将不得不放弃导致问题的回购协议,进行更改,创建拉取请求,然后等待Facebook合并您的更改。当你在等的时候,你可以用你自己的叉子

在正确的文件中,它将以
结尾。。。Manager.m
您只需添加行即可

+ (BOOL) requiresMainQueueSetup { return YES; }
可能不止一个地方需要依赖于他们如何设置依赖关系来完成。这将停止警告,因为您将告诉依赖项它需要哪个队列


警告,您现在必须维护自己版本的依赖项,直到Facebook实现您的请求。

谢谢!虽然我宁愿解决问题也不愿减轻它,但这是一个很好的建议。解决问题的唯一方法是在依赖项中修复它。因此,分叉导致问题的回购协议,进行更改,创建拉取请求,然后等待Facebook合并您的更改。当你在等的时候,你可以用你自己的叉子。您只需在正确的位置添加
+(BOOL)requiresMainQueueSetup{return YES;}