当我打开Facebook会话时,一切都很顺利,完成块被调用.
[FBSession openActiveSessionWithReadPermissions:nil allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
NSLog(@"openSession handler");
}];
Run Code Online (Sandbox Code Playgroud)
但是后来当我要求额外的权限时,两个完成块不仅被调用,而且还被调用.
[FBSession.activeSession reauthorizeWithReadPermissions:
[NSArray arrayWithObject:@"user_photos"]
completionHandler:^(FBSession *session, NSError *error) {
NSLog(@"reauthorize handler");
}];
Run Code Online (Sandbox Code Playgroud)
这是一个错误还是它应该是这样的?我该如何避免这种行为?是否可以在通话后删除完成块?
我查看了Scrumptious样本,行为完全相同.当应用程序请求发布权限时,将调用发布完成块并再次调用登录块.
我正在测试iOS5和Facebook-ios-sdk 3.1.1