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 アプリは起動しません。
任意の洞察をいただければ幸いです。