【问题标题】:iOS error: [FBAccessTokenData userID]: unrecognized selector sent to instanceiOS 错误:[FBAccessTokenData userID]: unrecognized selector sent to instance
【发布时间】:2015-04-06 16:45:05
【问题描述】:

我正在尝试构建和运行我正在处理的旧项目(并且必须更新用于 Parse 和 Facebook 的 SDK),当我尝试使用该块登录到 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 performSegueWithIdentifier:@"LoginToProfile" sender:self];
    } else {
        NSLog(@"User with facebook logged in!");
        [self performSegueWithIdentifier:@"LoginToProfile" sender:self];
    }
}];

块简单地退出,我在控制台中收到错误:

[FBAccessTokenData userID]: unrecognized selector sent to instance 0x15d88710

我不知道如何进入 facebook 框架进行调试(它只是进入汇编代码)。可能是什么问题?

(我使用的是 Xcode 6.2 和 iOS 8.2)

另外,我如何检查我拥有的 Facebook 和 Parse SDK 的版本?此信息位于何处?

【问题讨论】:

    标签: ios iphone xcode facebook parse-platform


    【解决方案1】:

    Parse.framework 包含 info.plist 文件。键“Bundle version”对应于您正在使用的解析 sdk 版本。

    从版本 3 开始。facebook SDK 声明宏 FB_IOS_SDK_VERSION_STRING 表示您正在使用的 facebook sdk 版本。

    至于这个问题,您可能需要迁移到 facebook sdk v4。 你可以在这里找到它https://developers.facebook.com/docs/ios/downloads 您将需要另一个名为 PFFacebookUtilsV4 的解析框架。可以从parse的官网下载

    或者,您可以尝试检查此线程
    https://www.parse.com/questions/is-pfloginview-updated-for-new-parsefacebook-integration

    【讨论】:

    • 于是我切换到了FB sdk v4,然后删除了我的ParseFacebookUtils框架,并添加到了ParseFacebookUtilsV4框架中。在我尝试登录的课程中,我有 #import <ParseFacebookUtilsV4/PFFacebookUtils.h> 但我在 loginWithPermissions 上收到错误说 No known class method for selector 'logInWithPermissions:block:'
    • 现在使用新的 ParseFacebookUtilsV4,我遇到错误,它无法找到诸如“FBRequest”和“FBAppCall”之类的东西。
    • 不幸的是 ParseFacebookUtilsV4 为 facebook 管理引入了新接口,但尚未在 parse docs 中引入。您必须深入migration quide 才能迁移代码。另一个快速解决方案是下载 facebookSDK 包 3.23.2,将其插入项目并切换回 ParseFacebookUtils。这应该可以解决 [FBAccessTokenData userID]: unrecognized selector sent to instance 0x15d88710 的原始问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-22
    • 1970-01-01
    • 2020-01-19
    相关资源
    最近更新 更多