0

Facebookを使用してユーザーがログインできるように、FBSDKLoginKitを追加したアプリに取り組んでいます。FacebookのユーザーIDとパスワードを入力すると、以下のページが表示されます。ここに画像の説明を入力

OKボタンを押すと、空白のページが表示されます。

ここに画像の説明を入力

予想通り、空白のページは表示されないはずです。そのため、左上隅の [完了] ボタンを押して、SDK からプログラム呼び出し関数 handleImplicitCancelOfLogIn を実行すると、ログインが成功せず、アプリのログイン ホームページにルーティングされていることがわかります。

デバッグ中にエラーは表示されませんが、[完了] ボタンを押すと、フラグ result.isCancelled が true に設定されていることがわかります ([完了] ボタンをタップすると関数 handleImplicitCancelOfLogIn が呼び出されるため)。

   FBSDKLoginManager().logInWithReadPermissions(["public_profile"], fromViewController: hostViewController) { (result, error) in
        if error != nil || result.isCancelled {
            completion(error: error ?? NSError(domain: "Facebook Login Failed", code: -1, userInfo: nil))
        }

上記の呼び出しでは、エラーが nil に等しいことがわかりますが、result.isCancelled は true に設定されています。

これと同様に、以下にリストされている他のスレッドを確認しましたが、Facebook に関連するすべての呼び出しが正常に機能していることを確信しています。

  1. Facebook FBSDKLoginManager/logInWithReadPermissions 解析を使用しない Swift の例
  2. SDK 4.1 にアップグレードした後、Facebook ログインが失敗する (常に isCancelled)

これは iOS 8 および 9 でも発生しており、最初に開発したときに機能していました。

現在の API バージョン「4.12.0」、Xcode バージョン - バージョン 7.3 (7D175)、iOS 8.0 および 9.0 iOS 8 を使用すると、Safari Web ページで奇妙な応答が表示されます。

手がかり/ヒントは大歓迎です。さらに何か知っておく必要がある場合はお知らせください。

4

1 に答える 1

3

AppDelegate でコールバック メソッドを実装する必要があります。は iOS 9.0 以降用ですUIApplicationDelegate。iOS8.0用。application:openURL:options:application:openURL:sourceApplication:annotation:

質問はすでにここで回答されています: iOS 9 で Facebook SDK ログインがアプリケーションをコールバックしない

于 2016-10-04T05:54:08.317 に答える