我正在尝试为我的 react native/expo/firebase 应用创建一个“使用 Facebook 登录”按钮,但它不起作用。
我目前在单击登录按钮时收到以下警告:可能未处理的承诺拒绝 (id:4):错误:使用参数“(我的 Facebook 应用 ID)”调用“ExponentFacebook.loginWithReadPermissionsAsync”时引发异常: -[_NSCFString objectForKeyedSubscript:]: 无法识别的选择器发送到实例...
我做错了什么?
这是我的功能:
import firebase from './firebase.js';
import * as Facebook from 'expo-facebook';
export async function FacebookLogin() {
const appId = Expo.Constants.manifest.extra.facebook.appId;
const permissions = ['public_profile', 'email'];
Facebook.initializeAsync({appId: appId, appName: "Foo"});
const { type, token } = await
Facebook.logInWithReadPermissionsAsync(
appId,{
permission: permissions
}
);
if (type == "success") {
const credential =
firebase
.auth
.FacebookAuthProvider
.credential(token);
}
firebase
.auth().signInWithCredential(credential).catch(error => {
console.log(error);
});
}