(com.фейсбук.пакет SDK.ошибка входа 304.) Ошибка с FBSDK 4.2
Я пытаюсь реализовать логин с функциональностью Facebook, но я получаю следующую ошибку взамен.
ошибка входа в систему: операция не может быть завершена. (com.фейсбук.пакет SDK.ошибка входа 304.)
вот мой код
- (void)loginWithFacebook {
NSString *const read_actions = @"email";
[[[FBSDKLoginManager alloc] init]
logInWithReadPermissions:@[read_actions] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
{
if (error) {
NSLog(@"Login Failed with error: %@", error.localizedDescription);
}
else if (result.isCancelled)
{
NSLog(@"Login Failed due to Cancel");
}
else
{
if ([result.grantedPermissions containsObject:read_actions]) {
NSLog(@"Permission granted");
}
}
}];
}
5 ответов
это может быть из-за предыдущего маркера входа не очищено.Поэтому перед логином просто выйдите из системы.
NSString *const read_actions = @"email";
FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
[loginManager logOut];
[loginManager logInWithReadPermissions:@[read_actions]
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
NSLog(@"Login Failed with error: %@", error.localizedDescription);
}
else if (result.isCancelled) {
NSLog(@"Login Failed due to Cancel");
} else {
if ([result.grantedPermissions containsObject:read_actions]) {
NSLog(@"Permission granted");
}
}
}];
обновление Swift 4:
каждый раз, когда вы выполняете что-то вроде этого
FBSDKLoginManager().login(withReadPermission: ["email"], from: self) { (result, error) in // Check for error and then login }
вставить этот код перед логин:
FBSDKLoginManager().logOut()
и он должен работать нормально :)
Кажется, я делаю
[FBSDKAccessToken refreshCurrentAccessToken:^(FBSDKGraphRequestConnection *connection, id result, NSError *error){}
в фоновом потоке во время операции входа в систему. Я удалил его, и он работал отлично.
выйдите из fblogin manager на действие, которое вы выполняете вход непосредственно перед API входа, как: -
fbLoginManager.logOut ()
fbLoginManager.logIn(withReadPermissions: ["public_profile","email"], from: self) { (result, error) -> Void in
попробуйте это, но его в swift 2 "выход перед входом в действие кнопки входа" пусть логин: FBSDKLoginManager = FBSDKLoginManager() авторизоваться.logOut ()