gpt4 book ai didi

ios - 使用 Facebook 为 iOS 设置 Firebase 简单登录

转载 作者:行者123 更新时间:2023-11-29 11:01:38 26 4
gpt4 key购买 nike

我是第一次在 iOS 上设置 Firebase,我似乎在使用 Simple Login with Facebook 身份验证设置时遇到了一些问题。

问题

我在模拟器中运行它 - 这可能是我的问题,因为模拟器没有 Facebook 应用程序或 Facebook 集成?但我目前没有 Apple Developer 帐户。

我希望这会触发 Facebook 应用程序中的 Facebook 身份验证 View ,或者如果设备上未安装该应用程序,请切换到 Safari 并使用正常的身份验证页面,但没有任何反应。

设置

据我所知,这些是让它运行的最低要求:

  1. 一个 Facebook 应用程序:
  2. 一个 iOS 项目:
    • 将二进制文件与库链接:
      • Firebase.framework
      • Foundation.framework(显然... :))
      • libicucore.lib
      • 安全框架
      • CFNetwork.framework
      • FirebaseAuthClient.framework
      • Accounts.framework
      • 社交框架
    • -Other linker flag下的ObjC
    • 将 Bundle 标识符与 Facebook 应用程序 Bundle ID 匹配
  3. 将 Facebook 应用 ID 和应用 key 添加到 Firebase Forge 中的 Auth

在此处查看我的 Facebook 应用程序设置(屏幕截图):http://flashpatric.com/wp-content/uploads/2013/03/facebookSetup.png

代码:

Firebase* ref = [[Firebase alloc] initWithUrl:@"https://xxx.firebaseio.com"];
FirebaseAuthClient* authClient = [[FirebaseAuthClient alloc] initWithRef:ref];

[authClient loginToFacebookAppWithId:@"xxx-facebook-app-id-xxx" permissions:@[@"email"] withCompletionBlock:^(NSError *error, FAUser *user) {
if (error != nil) {
// There was an error logging in
NSLog(@"There was an error logging in: code = %d", [error code]);
NSLog(@"%@", error);
} else {
// We have a logged in facebook user
NSLog(@"We have a logged in facebook user: %@",user);
}
}];

[authClient checkAuthStatusWithBlock:^(NSError* error, FAUser* user) {
if (error != nil) {
NSLog(@"Oh no! There was an error performing the check %@",error);
} else if (user == nil) {
NSLog(@"No user is logged in");
} else {
NSLog(@"There is a logged in user %@",user);
}
}];

输出:

2013-03-27 11:10:08.900 firebase[18729:1303] There was an error logging in: code = 6
2013-03-27 11:10:08.905 firebase[18729:1303] Error Domain=com.apple.accounts Code=6 The operation couldn’t be completed. (com.apple.accounts error 6.)
2013-03-27 11:10:08.924 firebase[18729:c07] No user is logged in

好的,我是不是漏掉了一些明显的东西,还是我的问题只是 iOS 模拟器问题?

最佳答案

您需要一些东西才能使用 Facebook 身份验证,这应该可以在模拟器上运行:

  1. Facebook 上的应用程序设置。听起来你已经有了这个
  2. 在您的模拟器上设置一个 Facebook 帐户。目前,FirebaseAuthClient 不与 Facebook 应用交互,它仅使用内置于 iOS 中的 native Facebook 集成。
  3. 确保您拥有最新版本的 FirebaseAuthClient。截至目前,它是 1.0.1,您可以在这里获取它:https://www.firebase.com/docs/downloads.html
  4. 确保您已在 Forge 中启用 Facebook 身份验证。从您的描述来看,您似乎已经这样做了。

根据您收到的错误,我猜测您缺少第 2 步。在您的模拟器上,转到“设置”->“Facebook”并登录一个帐户。

关于ios - 使用 Facebook 为 iOS 设置 Firebase 简单登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15656330/

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