自更新到 Facebook 4.x 后,以下内容不再有效:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return [FBAppCall handleOpenURL:url sourceApplication:@"yyyyxxxxyyyxxxx" withSession:[PFFacebookUtils session]];
}
因为 application: handleOpenURL
已被弃用,并且 FBAppCall 已被删除以替换为 BFURL。
我试过阅读 Bolts documentation这表明以下内容:
- (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 后连续尝试,它有时会登录。我认为这是因为我没有正确处理返回到应用程序,但不确定要添加什么。
最佳答案
用这个替换旧的返回:
return [[FBSDKApplicationDelegate sharedInstance] application:app openURL:url sourceApplication:options[UIApplicationLaunchOptionsSourceApplicationKey] annotation:options[UIApplicationLaunchOptionsAnnotationKey]];
关于ios - FBAppCall 从 Facebook 更新 4.x 中删除 - 在 Facebook 登录后返回应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29566131/