如何解决“在UIManager中找不到“永久违反:requireNativeComponent:” RCTFBLoginButton”。”

时间:2019-01-10 08:43:38

标签: ios react-native facebook-sdk-4.x

让我首先说类似的SO问题表明该问题可能与未链接lib有关。

我再次运行react-native link react-native-fbsdk,以确认它确实已链接,并确认它是

rnpm-install info Platform 'ios' module react-native-fbsdk is already linked
rnpm-install info Platform 'android' module react-native-fbsdk is already linked

仍然,我在XCode项目中看到了main.jsbundlelibReact.alibRCTFBSDK.a的几个red indications (我发现特别令人不安的是,它们显示在“恢复的引用”下”,当我尝试在Finder中将其指向任何地方时都指向无处。因此,总的来说,有很强的迹象表明我的FBSDK设置出现了问题。

由于设置指南中已提及这些内容,因此让我继续一份报告:

  1. 我已经下载了SDK,该SDK已提取到我的~/Documents/FacebookSDK文件夹下
  2. 我已将4个框架(BoltsFBSDKCoreKitFBSDKLoginKitFBSDKShareKit)拖到项目中,未标记“复制”选项
  3. 我的“构建设置” >>“框架搜索路径”具有~Documents/FacebookSDK的价值(仅此而已,没有其他内容)
  4. 我的“构建设置” >>“其他链接器标志”的价值为-ObjC -lc++(根据Facebook指南,确实如此,我没有碰它,只是确认它具有ObjC
  5. 我的“构建阶段” >>“使用库链接二进制文件”具有4个框架,以及其他几个文件,其中包括树中红色的两个文件(libReact.alibRCTFBSDK.a)< / li>

虽然问题似乎根源于这些红色文件,但我在尝试修复它们时没有任何线索或运气,因此,我们将不胜感激!

2 个答案:

答案 0 :(得分:1)

我一直在挣扎很多时间。经过一番调查和几次尝试,我以这种方式解决了这个问题:

  • 删除node_modules和ios / Pods
  • 已升级为原生0.60
  • npm安装
  • 将此添加到Podfile:
    pod 'FBSDKCoreKit'
    pod 'FBSDKLoginKit'
    pod 'FBSDKShareKit'
    从iOS文件夹
  • :```pod install````

  • 将AppDelegate和Info.plist配置为this guide状态

按照指南所述,我不必手动将框架拖到Xcode项目中。

答案 1 :(得分:0)

到目前为止,除了第2步(链接SDK)外,react-native-fbsdk github指示应遵循this guide,而应将框架拖入项目中。 这类似于从FB的仪表板中获取的“快速入门”指南中指示的内容。 这些指南都是我所见问题的来源。

this guide之后,它开始起作用了。