自 Facebook 4.x 更新以来,以下内容不再有效:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return [FBAppCall handleOpenURL:url sourceApplication:@"yyyyxxxxyyyxxxx" withSession:[PFFacebookUtils session]];
}
因为两者application: handleOpenURL
都已被弃用,并且 FBAppCall 已被删除以替换为 BFURL。
我尝试阅读Bolts 文档,其中建议如下:
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
BFURL *parsedUrl = [BFURL URLWithInboundURL:url sourceApplication:sourceApplication];
//do something with parsedUrl if neccessary
...但是我不确定如何处理 BFURL。以前,此方法仅包含:
return [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation];
}
但是现在每次我尝试登录 FB(未安装 FB 应用程序)时,它都会退出到 Safari,批准应用程序,返回到我的应用程序,但重新启动它,并且无法登录。经过大约 4 次连续尝试后,它有时会登录。我认为这是因为我没有正确处理返回应用程序,但不确定要添加什么。