react-native - react-native-fbsdk 不支持redirect_uri URL
问题描述
我正在尝试使用 react-native-fbsdk 来允许用户登录我的应用程序。我已经设置了一个登录按钮。
代码:
import React, { Component } from 'react'
import { View } from 'react-native'
import { LoginButton, AccessToken } from 'react-native-fbsdk'
export default class FBLoginButton extends Component {
render() {
return (
<View>
<LoginButton
onLoginFinished={
(error, result) => {
if (error) {
alert('Login failed with error: ' + error.message)
} else if (result.isCancelled) {
alert('Login was cancelled')
} else {
AccessToken.getCurrentAccessToken().then(
(data) => {
console.log(data.accessToken.toString())
}
)
}
}
}
onLogoutFinished={() => alert('User logged out')}/>
</View>
)
}
}
当我单击登录按钮时,我会在模拟器中出现这个
如果我尝试添加权限,我会收到一个 xcode 错误:
代码:
<LoginButton
publishPermissions={['email']}
onLoginFinished={...
错误:线程 1:信号 SIGABRT
如何摆脱 redirect_uri 错误?
解决方案
我错了FacebookAppId
,CFBundleURLSchemes
在info.plist
我的ios/appName/info.plist
. 我不得不去https://developers.facebook.com/apps/29476792337468632/fb-login/quickstart/?sdk=fbsdk看看 APP ID 是什么(它显示在您的应用名称旁边的导航栏中) . 快速入门实际上会为您提供下面的整个代码块以及您要粘贴到 info.plist 中的正确应用程序 ID。
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb29476792337468632</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>29476792337468632</string>
<key>FacebookDisplayName</key>
<string>My App Name</string>
推荐阅读
- redis - Redis 6 多线程和多个 Redis 数据库
- react-native - 安装 @react-native-firebase/messaging 后反应原生应用程序构建失败
- javascript - 没有跨源策略的浏览器访问 iframe
- c# - 在字典中查找返回意外值
- python - Scapy 运行时错误,ValueError: Unknown pypcap network interface
- c# - 如何使用 Npgsql 从 Postgresql 检索 UTC 日期时间
- json - Jackson:反序列化后如何进行验证?
- java - 对字母数字字符串列表进行排序:java
- html - 用一些东西封装html片段会破坏css
- python - 将列表插入 ttk Treeview 表