Обратный вызов входа в Facebook никогда не срабатывал в iOS-SDK v 4.18.0

Я реализую вход в Facebook для моего приложения iOS в Xcode 8.1 с Swift3. Операция просто выполняется с помощью следующей функции:

[loginManager logInWithReadPermissions:@[@"email"]
                    fromViewController:self
                               handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
// my callback logic
 }];

(Я получил этот фрагмент кода из документации Facebook. Я сейчас не на своем рабочем компьютере; из-за этого это obj-c)

Я тоже все отлично реализовал, что касается AppDelegate как методы входа в Facebook SDK, Info.plist ключевые значения и т. д.

Когда у пользователя установлено приложение Facebook, все работает нормально.

Однако, когда у пользователя не установлено приложение Facebook, обратный вызов предыдущей функции никогда не вызывается. SafaroViewController появляется, пользователь входит в систему и либо предоставляет разрешения или отклоняет запрос. И внезапно, SafariViewControllerисчезает и мой обратный вызов не вызывается (AppDelegate как методы входа в Facebook (SDK).

В чем может быть проблема?

1 ответ

Приписывать FBSDKLoginButton как класс вашей кнопки вместо UIButton и в вашей розетке тоже. Затем установите кнопку delegate а также permission в viewDidLoad,

@IBOutlet weak var faceBookLoginButton: FBSDKLoginButton!

// MARK: - View life cycle methods

override func viewDidLoad() {
    super.viewDidLoad()
    // Facebook Permissions
    faceBookLoginButton.readPermissions = ["email"]
    faceBookLoginButton.delegate = self
}

Спасибо:)

Другие вопросы по тегам