3

我正在使用 Facebook SDK 和Parse

我正在为用户的电子邮件、活动和他们朋友的活动提交额外的请求。

虽然我成功收到了这个信息,但是当我请求权限时,登录到 iOS facebook 系统的用户会收到这个弹出窗口。

FB 弹窗

请注意,他们已经登录到 facebook(通过设置应用程序),他们只是收到一条消息来批准请求。

如您所见,它重复了有关基本个人资料和好友列表的信息(FB 登录默认为您提供此信息),甚至没有提及电子邮件。由于我怀疑 Apple 或 FB 犯了这种错误,我认为这与我有关。这是我使用 FB 和 Parse 请求访问的方式。

    // The permissions requested from the user
    NSArray *permissionsArray = @[ @"email, user_events, friends_events"];

    // Login PFUser using Facebook
    [PFFacebookUtils logInWithPermissions:permissionsArray block:^(PFUser *user, NSError *error) {
        [activityIndicator stopAnimating]; // Hide loading indicator

        if (!user) {
            if (!error) {
                NSLog(@"Uh oh. The user cancelled the Facebook login.");
            } else {
                NSLog(@"Uh oh. An error occurred: %@", error);

            }
        } else if (user.isNew) {
            NSLog(@"User with facebook signed up and logged in!");
            [self.delegate ViewWasDismissed];
            [self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
        } else {
            NSLog(@"User with facebook logged in!");
            [self.delegate ViewWasDismissed];
            [self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
        }
    }];

再次,此请求有效。因此,我无法想象我做错了什么,但信息很奇怪。有任何想法吗?

编辑:我尝试从 iOS facebook 系统中删除我的帐户并直接通过应用程序请求。这次我收到了这条消息:

成功图片

请注意,在这里,用户通过 FB 应用程序登录到 facebook,并简单地获取此(正确)消息以接受权限。

这是Apple Facebook系统的某种错误吗?

4

1 回答 1

1

这是 iOS 将发生的正确行为。自 iOS 6 以来,Apple 已将 Facebook 集成到这些设备中。因此,用户可以从设置页面登录 Facebook。以下是解释您的困惑的场景。

场景一:从设置页面登录 Facebook

该应用程序将自动从您的设备检测 Facebook 帐户(如果有),并通过 UIAlertView 提示您权限请求。只有当您使用最新的 SDK 时才会发生这种情况,而且我不太确定 Facebook 为 iOS 发布的哪个 SDK 具有此功能。

场景 2:未从设置页面登录 Facebook(旧方式)

如果您的设备中安装了该应用程序,它将引导您访问 Facebook 应用程序。否则,它将引导您进入 Safari 并打开 Facebook 移动页面,并询问您应用程序所需的权限。

希望这有帮助:)

于 2014-05-02T05:48:42.560 回答