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 中添加标头?