iOS:最新的 Parse SDK PFFacebookUtils 块永远不会被执行

Posted

技术标签:

【中文标题】iOS:最新的 Parse SDK PFFacebookUtils 块永远不会被执行【英文标题】:iOS: Latest Parse SDK PFFacebookUtils blocks never gets executed 【发布时间】:2015-11-14 13:56:31 【问题描述】:

使用 Parse SDK 1.9.1 和 Facebook 4.8.0 我没有收到任何回调,我的完成块永远不会被执行。我的 AppDelegate 中有所有必要的东西,一切都很顺利,直到我升级了我的 sdks。

我的代码中的示例:

if (![PFUser currentUser]) 
    NSLog(@"!PFUser current user");
    NSArray *permissions = @[@"public_profile", @"email", @"user_friends"];

    [PFFacebookUtils logInInBackgroundWithReadPermissions:permissions block:^(PFUser *user, NSError *error) 
        NSLog(@"User:%@",[user description]);
        if (!user) 

            NSLog(@"Uh oh. The user cancelled the Facebook login.");
            NSLog(@"Uinfo :%@",[error userInfo][@"error"]);
         else if (user.isNew) 
            NSLog(@"User signed up and logged in through Facebook!");
            [self updateUiForLoggedInUser];
            [self updateInstallationChannels];

         else 
            NSLog(@"User logged in through Facebook!");
            [self updateUiForLoggedInUser];
            [self updateInstallationChannels];
        
        if (error) 
            NSLog(@"Error trying to login:%@",[error description]);
        
    ];

还有:

 if (![PFFacebookUtils isLinkedWithUser:[PFUser currentUser]]) 
    [PFFacebookUtils linkUserInBackground:[PFUser currentUser] withReadPermissions:nil block:^(BOOL succeeded, NSError *error) 
        if (succeeded) 
            NSLog(@"Woohoo, user is linked with Facebook!");
        
    ];

知道为什么吗? 提前致谢!

编辑:我尝试移动 PFFacebookUtils logInInBackgroundWithReadPermissions: 到另一个视图控制器,它工作正常。知道为什么它不能在 MainViewController 上工作吗?

【问题讨论】:

【参考方案1】:

我想通了。不知道为什么会发生,但似乎对 FBFacebookUtils 的请求现在不是异步的......我在 loginInBackground 之后立即调用了 linkUserInBackground,而我得到的响应仅针对 linkUserInBackground。分离这两种方法后,一切正常。

【讨论】:

嗨。我遇到了和你一样的问题。 'logInInBackgroundWithReadPermissions' 块永远不会在主视图控制器中执行。但是它在其他视图控制器中工作正常。我还注意到当我在设备上运行它时它工作正常(在主视图控制器中执行块)。我只是不在模拟器上工作。 检查在此特定请求之前和之后是否没有请求。如果有并且您删除了它们,并且一切正常,那么您可能需要让您的通话同时进行

以上是关于iOS:最新的 Parse SDK PFFacebookUtils 块永远不会被执行的主要内容,如果未能解决你的问题,请参考以下文章

ParseFacebookUtilsV4 和 Facebook-iOS-SDK 4.0

Parse 的 iOS SDK(或其他 SDK)如何解决冲突?

如何在 Parse iOS SDK 的 Parse Calls 中添加标头?

将 tvOS Parse SDK 添加到现有 iOS 项目

如何在 AppDelegate 中使用 Parse 正确设置 Facebook iOS SDK?

Parse-Server iOS SDK - 创建返回 PFQuery 结果的函数