2
我正在使用Xcode 7使用Facebook iOS idk v4.1编写针对iOS7的应用程序。当我执行Facebook登录时,FBSDKLoginButton回调中的[FBSDKAccessToken currentAccessToken]仍然为零。我已经尝试了几种SO解决方案来解决这个问题,但迄今为止还没有一种解决方案能够解决此问题登录Facebook之前iOS 9
我认为问题出在我的appDelegate。这里是我的代码:
- (BOOL) application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
//for Facebook signin
if([[FBSDKApplicationDelegate sharedInstance] application:application openURL:url sourceApplication:sourceApplication annotation:annotation])
{
return YES;
}
//for Google Signin on iOS 8 and earlier
else
{
NSDictionary* options = @{UIApplicationOpenURLOptionsSourceApplicationKey:sourceApplication, UIApplicationOpenURLOptionsAnnotationKey:annotation};
return [self application:application openURL:url options:options];
}
}
//iOS 9 and later
//for Google Signin
- (BOOL) application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options
{
if ([[[NSUserDefaults standardUserDefaults] objectForKey:UDLoginType] integerValue] == ltGoogle)
{
return [[GIDSignIn sharedInstance] handleURL:url sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey] annotation:options[UIApplicationOpenURLOptionsAnnotationKey]];
}
else
{
return YES;
}
}
当我的应用程序从Facebook返回时,应用程序:openURL:options(iOSv9 +)被调用。该方法不包含对Facebook SDK的调用。在应用程序中有一个对Facebook SDK的调用:openURL:sourceApplication:注解(iOSv8-),但我不知道如何将它翻译为iOSv9调用,就像Google一样。据我所知,在Facebook登录后没有处理登录URL。我究竟做错了什么?
感谢