gpt4 book ai didi

javascript - Facebook SDK 和自定义按钮登录 react-native 0.60+ 不工作

转载 作者:行者123 更新时间:2023-11-29 11:27:10 25 4
gpt4 key购买 nike

我正尝试在我的 React-Native 应用程序中实现 Facebook 登录,但出于某种原因,它抛出 Cannot read property 'logInWithPermissions' of undefined。我正在使用 React-Native 0.60.4。我已经下载了 FacebookSDK 5.3.0(_Stable 框架)

尝试使用 Cocoapod,但经过一些研究,许多人不建议使用它,因为它会破坏项目。

这些是我遵循的步骤:

  1. 已下载 FacebookSDK 5.3.0(当前最新至 2019 年 8 月 15 日)
  2. FBSDKCoreKit.frameworkFBSDKLoginKit.frameworkFBSDKShareKit.framework 放在一个文件夹中作为 ~/Documents/FacebookSDK
  3. 还将这 3 个框架文件放入 XCode 项目中的 /Frameworks 文件夹中。
  4. 以防万一,我还在build设置下的框架搜索路径中添加了路径 ~/Documents/FacebookSDK
  5. 在 XCode 上构建,它是成功的。
  6. 我从我的 react-native 项目下载了 react-native-fbsdk。它下载版本 1.0.1。
  7. 我没有在 Link binary with Libraries 中添加 libRTCFBSDK.a 文件,因为它会抛出一个错误,指出 FBSDKShareKit.h isnot found

这就是我在 AuthView.js 上所做的,我将其添加到 TouchableOpacity 中的简单绑定(bind) onPress 事件。

const FBSDK = require('react-native-fbsdk');
const {
LoginManager,
} = FBSDK;

handleFacebookLogin() {
LoginManager.logInWithPermissions(['public_profile', 'publish_actions']).then(
(result) => {
if (result.isCancelled) {
console.log('Login cancelled')
} else {
console.log('Login success with permissions: ' + result.grantedPermissions.toString())
}
},
(error) => {
console.log('Login fail with error: ' + error)
}
)
}

现在,我注意到在 Facebook 的 FBLoginManager.js 中,这是被调用的函数

logInWithPermissions(permissions: Array<string>): Promise<LoginResult> {
return LoginManager.logInWithPermissions(permissions);
},

每当我将鼠标悬停在 LoginManager 上时,它都会说它是未定义。为什么这是未定义的?当它实际上是文件顶部的常量时

const LoginManager = require('react-native').NativeModules.FBLoginManager;

谁能帮帮我?我已经挣扎了4天了。我已经尝试用 cocoapods 安装它,但没有成功。然后执行 react-native link react-native-fbsdk 没有成功...很多人建议不要使用链接,而是手动执行。

我还能尝试什么?谢谢。

最佳答案

您必须在带有库的链接二进制文件中添加 libRTCFBSDK.a 文件。要解决“未找到 FBSDKShareKit.h”问题,请将 ~/Documents/FacebookSDK 更改为 $(HOME)/Documents/FacebookSDK

关于javascript - Facebook SDK 和自定义按钮登录 react-native 0.60+ 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57517425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com