我遇到的FBSDKLoginManager for iOS问题。
基本上,我需要同时要求阅读和发布权限(user_photos,publish_actions,user_likes,user_friends,电子邮件),我知道我必须分别询问他们。到目前为止一切顺利。
问题是,我正在使用FBSDKLoginBehaviorWeb,这在我的应用程序上是必需的(因为在交互完成后,我需要用户自动注销),因此当我请求阅读权限时,我会弹出窗口,成功登录,完成后,我要求发布权限,然后再次从该弹出窗口中登录。如果没有要求用户连续两次登录,是否有任何方法可以解决此问题?
这是我正在使用的代码:
NSArray *permissions = @ [@"user_photos",
@"user_likes",
@"user_friends",
@"email"];
_loginManager = [[FBSDKLoginManager alloc] init];
_loginManager.loginBehavior = FBSDKLoginBehaviorWeb;
[_loginManager logInWithReadPermissions:permissions fromViewController:self handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if(result.isCancelled) {
[self pressedCancel];
return;
}
NSSet* declinedPermissions = result.declinedPermissions;
for (NSString *declinedPermission in declinedPermissions) {
if(!nullOrEmpty(declinedPermission))
{
[self pressedCancel];
return;
}
}
if ([FBSDKAccessToken currentAccessToken]) {
// self.settings.facebookToken = [FBSDKAccessToken currentAccessToken].tokenString;
[_loginManager logInWithPublishPermissions:@ [@"publish_actions"] fromViewController:self handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
[self didSignIn];
}];
}
}];
任何有关如何解决此问题的提示,或在何处可以获得帮助的指示,将不胜感激。
谢谢!