我正在使用最新的FBSDK,使用FBSDKLoginManager進行登錄。我有這一切工作,但有一件事我無法弄清楚爲什麼SFSafariViewController在登錄重定向後完全沒有響應?FBSDK FBSDKLoginManager和SFSafariViewController不會關閉
這裏是代碼:
- (void) login:(void(^)(NSError *error, NSString * token)) completion {
FBSDKLoginManager * manager = [[FBSDKLoginManager alloc] init];
manager.loginBehavior = FBSDKLoginBehaviorNative;
if([FBSDKAccessToken currentAccessToken]) {
NSLog(@"already logged in");
NSLog(@"%@",[FBSDKAccessToken currentAccessToken]);
completion(nil,[FBSDKAccessToken currentAccessToken].tokenString);
return;
}
[manager logInWithReadPermissions:@[@"public_profile"] fromViewController:nil handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
dispatch_sync(dispatch_get_main_queue(), ^{
NSLog(@"%@",error);
NSLog(@"fb token: %@",[FBSDKAccessToken currentAccessToken].tokenString);
if(error) {
completion(error,nil);
return;
}
completion(nil,[FBSDKAccessToken currentAccessToken].tokenString);
});
}];
}
這是發生了什麼:
- SFSafariViewController打開
- Facebook的提示登錄
- 回調發生在AppDelegate.openURL:選擇:(我回來的調用FBSDKApplicationDelegate.application:openURL:sourceApplication:annotation)。
- Safari網頁視圖控制器不做任何事情。
所以SFSafariViewController是白色/空白。完成按鈕什麼都不做。我無法關閉它。
我也沒有從loginManager.loginWithReadPermissions方法獲得回調。
任何人都有經驗嗎?
面臨着同樣的錯誤。有一些進展? –