0

Facebook SDK 4.7.0 では、Facebook ログイン ダイアログを開こうとすると失敗します。UI の観点からは「何も起こらない」。

-canOpenURL: failed for URL: "fbauth2:/" - error:コンソール ログに表示される

また、コンソールの直後にこの警告が表示されますWarning: Attempt to present <FBSDKContainerViewController: 0x1268cdd20> on <UIAlertController: 0x12688dac0> whose view is not in the window hierarchy!

わかった。

記録として、plist に正しい Facebook SDK 4.6.0+ エントリと、NSAppTransport プロトコルの Facebook 固有の例外があります。

それらを追加する前はクラッシュしていましたが、それらを追加した後は機能しましたが、予告なしに機能しません!

を使用してこのプロセスを開始します

[login logInWithReadPermissions:settings.readPermissions
                            handler:^(FBSDKLoginManagerLoginResult     *result, NSError *error) {   

はい、非推奨の機能ですが、まだ機能していました。残念ながら、このブロック内のコールバックには戻れません。

その中でデバッグするFBSDKLoginManager.mと、このコードブロックに到達します

  case FBSDKLoginBehaviorBrowser: {
  [self performBrowserLogInWithParameters:loginParams handler:^(BOOL openedURL,
                                                                NSString *authMethod,
                                                                NSError *openedURLError) {
    if (openedURL) {
      completion(YES, authMethod, openedURLError);
    } else {
      completion(NO, authMethod, openedURLError);
    }
  }];
  break;
}

completion(YES, authMethod, openedURLError);openURL が true を返すため、実行されます。

しかし、私のアプリでは何も起こりません。ブラウザーや Facebook アプリは起動しません。

任意の洞察をいただければ幸いです。

4

1 に答える 1