Пожалуйста, войдите в это приложение еще раз, чтобы снова подключиться к Facebook - код ошибки 190

мы используем:

разобрать - 1.8.3 FBSDK.* - 4.6.0 ParseUI-1.1.6 ParseFacebookUtilsV4-1.8.3 IOS Target-9.0

1 ответов


я столкнулся с аналогичной проблемой (это не имеет ничего общего с разбором, хотя). Вот мои ответы на два вопроса, которые вы задали:--3-->

  1. Кажется, кнопка OK диалогового окна FBSDK не работает по этой причине:

    Attempt to present <FBSDKContainerViewController: 0x126b222a0> on
    <FBSDKContainerViewController: 0x126a26d10> whose view is not in the window hierarchy!
    

    по крайней мере, я вижу вышеупомянутое предупреждение в консоли Xcode, когда я пытаюсь войти в Facebook в своем приложении (на устройстве, подключенном к Macbook), и моя попытка не удалась. Я не нашел способа обойти эту проблему. Но я нашел способ чтобы избежать диалога FBSDK. См. Следующий пункт.

  2. Я проверяю действительность accessToken, запрашивая информацию о пользователе FB. Если запрос завершается ошибкой, это может означать, что accessToken недействителен. Вот пример кода:

    FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] 
        initWithGraphPath:@"me" parameters:@{@"fields": @"id, first_name, last_name"}];
    
    // The next line is important. 
    // It prevents FB SDK from handling the error automatically 
    // and allows you to handle the error yourself. 
    // In this way you avoid(!) the FBSDK dialog that says 
    // "Please login to this app again to reconnect with Facebook".
    [request setGraphErrorRecoveryDisabled:YES];
    
    [request startWithCompletionHandler:
        ^(FBSDKGraphRequestConnection *connection, id result, NSError *error){ 
    
        if (error) {
          // An error occurred. Most likely the accessToken is not valid.
          // Start the FB log-in process to obtain a valid token.
        }else{
          // Everything's all right. Go on.
        }
    }];