В последнее время на серверах Facebook что-то должно измениться в отношении того, как они обрабатывают логин, потому что это работало отлично и внезапно остановилось.
(Мы используем FBSDKLoginManager.loginBehavior = FBSDKLoginBehaviorWeb
из-за того, как наше приложение реплицируется для нескольких брендов (одна кодовая база, множество приложений) и проблемы, с которыми мы столкнулись, используя собственный логин.)
Во всяком случае, это то, что мы видим сейчас, когда пытаемся представить веб-браузер для входа в систему (прежде чем он даже позволит им войти в систему):
(не вошел в систему: вы не вошли в систему. Войдите и попробуйте еще раз.)
Это код, который мы используем для представления имени входа:
NSString *const publish_actions = @"publish_actions";
FBSDKLoginManager* login = [FBSDKLoginManager new];
login.loginBehavior = FBSDKLoginBehaviorWeb;
[login logInWithPublishPermissions:@[publish_actions] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
[FBSDKAccessToken setCurrentAccessToken:result.token];
// ...
}];
Также обратите внимание, что эта проблема не относится к iOS. Наше Android-приложение видит одно и то же (и снова оно отлично работает до недавнего времени).