我在 facebook SDK 中遇到了一个问题。
如果我从系统偏好设置/Facebook中删除 facebook 帐户,然后我尝试使用 facebook 登录,那么它会将我重定向到 facebook 本机应用程序的 safari 并且我可以登录。
但是,当我在系统偏好设置/Facebook中添加 facebook 帐户,然后我尝试使用 facebook 登录时,它不会重定向我并弹出“您的应用程序”想要访问您的基本信息和朋友列表。我允许它。但 FBSessionStatus 总是失败,我无法登录。
我试图搜索很多但没有得到解决方案。
我使用了最新的 facebookSDK。
我的登录代码如下
NSArray *permissions = [[NSArray alloc] initWithObjects:@"email",nil];
// Attempt to open the session. If the session is not open, show the user the Facebook login UX
[FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:true
completionHandler:^(FBSession *session,
FBSessionState status,
NSError *error)
{
NSLog(@"Running completion handler");
if (status == FBSessionStateClosedLoginFailed || status == FBSessionStateCreatedOpening) {
NSLog(@"Unable to activate Facebook Session");
}
else {
NSLog(@"Logged in via facebook. Requesting User Information.");
}
}];
并在 AppDelegate.h
@property (strong, nonatomic) FBSession *fbsession;
AppDelegate.m
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return [FBSession.activeSession handleOpenURL:url];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
NSLog(@"AppDelegate is attempting to extract Facebook token from URL");
return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication withSession:self.fbsession];
}
我每次都会得到日志,如下所示
AppDelegate is attempting to extract Facebook token from URL
Unable to activate Facebook Session
请帮我解决这个问题。提前致谢。