Я работаю с последней версией 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 открывается
- Фейсбук предлагает авторизоваться
- Обратный вызов происходит в AppDelegate.openURL:options: (я возвращаюсь, вызывая FBSDKApplicationDelegate.application:openURL:sourceApplication:annotation).
- Контроллер веб-представления Safari ничего не делает.
Итак, SFSafariViewController белый/пустой. Кнопка Готово ничего не делает. И не могу закрыть.
Я также не получаю обратный вызов от метода loginManager.loginWithReadPermissions.
Кто-нибудь испытал это?