ユーザーが iOS 6 を使用しており、デバイス内に Facebook アカウントが設定されている場合、Facebook iOS SDK はアプリ内で開きます。それ以外の場合は、Facebook アプリ (インストールされている場合) に正常にフォールバックし、その後 Safari のみにフォールバックします。SDK ドキュメントから:
ユーザーがデバイスで Facebook にログインすると、ネイティブのログイン ダイアログが使用可能になります。デバイスが Facebook に接続されていない場合、ネイティブのログイン ダイアログは使用できず、アクセス許可要求は Facebook アプリ (インストールされている場合) または Safari への fast-app-switch 経由で行われます。Facebook SDK メソッド [...] は、この高速アプリ切り替え動作にシームレスにフォールバックします。
ユーザーが iOS 6 デバイスで Facebook を構成していない場合でも、Facebook アプリをインストールしていない場合でも、アプリ内でログインを実行したい場合は、サーバーを実行するどこかで独自のサーバーを指す UIWebView をプルアップすることをお勧めします。 -サイドログイン。
UIWebView ベースのアプローチの大きな欠点は、UIWebView が Cookie を Safari と共有しないことです。そのため、ユーザーが既に Safari にログインしている場合でも、アプリでユーザー名とパスワードを再入力する必要があります。 . サードパーティのアプリでこれを行うのは少しためらいます。なぜなら、彼らが Facebook サイトを偽装して私の資格情報をフィッシングしているのかどうかを知る方法がないからです。