繁体   English   中英

如何修复“不变违规:requireNativeComponent:”RCTFBLoginButton“在UIManager中找不到。”?

[英]How to fix “Invariant Violation: requireNativeComponent: ”RCTFBLoginButton“ was not found in the UIManager.”?

首先让我说类似的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红色指示 (我觉得特别令人不安的是在“Recovered References”下显示,并且在我尝试时指向无处在Finder中找到它。 总而言之,强烈表明我的FBSDK设置出现了某些问题(或某些事情)。

因为设置指南中提到了这些,所以让我继续报告:

  1. 我已经下载了SDK,它是在~/Documents/FacebookSDK文件夹下提取的
  2. 我将4个框架( BoltsFBSDKCoreKitFBSDKLoginKitFBSDKShareKit )拖入项目,而不是标记“复制”选项
  3. 我的“构建设置”>>“框架搜索路径”有~Documents/FacebookSDK的价值(只是那个,没有别的)
  4. 我的“Build Settings”>>“Other Linker Flags”有-ObjC -lc++的价值(这已经是这样了,我没有触及它,只是确认它有ObjC ,每个Facebook的指南)
  5. 我的“Build Phases”>>“Link Binary With Libraries”有4个框架,还有其他几个文件,包括树中红色的两个( libReact.alibRCTFBSDK.a

虽然看起来问题根源于那些红色文件,但我没有线索或运气试图修复它们,所以任何帮助都表示赞赏!

截至本期发布时,react-native-fbsdk github表示应遵循本指南 ,但步骤2(链接SDK)除外,将框架拖入项目中。 这类似于你从FB的仪表板内部获得的“快速入门”指南所指出的内容。 这些指南都是我所看到的问题的根源。

按照本指南反而让它工作。

我一直在努力争取很多时间。 经过一番调查和几次尝试,我这样解决了:

  • 删除node_modules和ios / Pods
  • 升级到反应原生0.60
  • npm安装
  • 将其添加到Podfile:
    pod 'FBSDKCoreKit'
    pod 'FBSDKLoginKit'
    pod 'FBSDKShareKit'
  • 来自ios文件夹:```pod install````

  • 按照本指南的说明配置AppDelegate和Info.plist

我没有像指南那样手动将框架拖到Xcode项目中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM