(1) Facebook OAuth 機能を備えた Facebook API ベースの Web アプリケーション (「FB Web アプリ」) (
2) UIWebView
iPad 上のベースのブラウザ (「ブラウザ」)
ここでの目的は、Facebook ログイン ページを開いて、iPad の UIWebView ベースのブラウザー (2) 内で FB Web アプリ (1) にサインインすることです。
ここにやや似た問題があります:
http://facebook.stackoverflow.com/questions/11337285/no-longer-able-to-login-to-ios-app-via-oauth-the-page-requested-was-見つかりません
ただし、その質問の問題は、ユーザーがログインとパスワードを Facebook フォームに入力した後に発生します。私たちの問題は、そもそも Facebook のログイン フォームを表示できないことです。その質問で提案されているように、アプリの種類を「Web」から「ネイティブ/デスクトップ」に変更しても役に立ちませんでした。
手順: 1. このブラウザ
で Web ページ (単純な HTML ページ) を開きます
2. このページの [FB Web アプリ] 起動ボタンをクリックします
3. OnClick JavaScript は OAuth を開始しようとします。これにより、Facebook のログイン画面が開き、サインインします。 FBウェブアプリへ UIWebView
現在の結果 (問題):
iOS 5.+ および iOS 6.+ デバイス
- 当社の Web ページは変更されていません
- Facebook ログイン ページは表示されません (当社の Web ページは引き続き表示されます)
iOS 4.3 の場合 (期待どおりに動作します):
- FacebookログインページがUIWebView
ブラウザの同じオブジェクトで開かれます (Web ページを置き換えます)
期待される結果:
- Facebook のログイン ページが表示され、ユーザーは Facebook のログインとパスワードを入力できます
- iPad の Safari ブラウザで起動した場合、iOS 5.+ および iOS 6.+ で動作します。Facebook のログイン ページは別のタブで開かれます (対照的に、 には別のタブはありませんUIWebView
) 。
UIWebView
質問: iOS 5 以降および iOS 6 以降で OAuth 要求に応答して Facebook ログイン ページを開く にはどうすればよいですか?
技術的な詳細:
NSURLRequest
内部からさまざまなフィールド をログに記録します
-(BOOL)webView(UIWebView*)webView shouldStartLoadWithRequest(NSURLREquest*)request navigationType:…
また、「正しい」動作と「正しくない」動作のログにいくつかの違いがあることに気付きました。ここでは、実行フローがどのように見えるかを示します。
まず、「FB Web App」の起動ボタンを押して OAuth を開始します。
iOS 4.3、「正しい」<br> www.facebook.com/dialog/oauth?...
へのリクエスト fbwebapp.com への
リクエスト m.facebook.com/login.php?.... へのリクエスト --
こちら facebook ログインが現れる
iOS 5.0、「incorrect1」<br> www.facebook.com/dialog/oauth?...
へのリクエスト fbwebapp.com への
リクエスト m.facebook.com/login.php?... へのリクエスト
それから
-- たくさんの m.facebook.com/login.php?... 次の... パラメータ
に sqlite エラーが続きます --
今、facebook から「申し訳ありませんが、問題が発生しました」というページが表示されます (これは初めて遭遇しました)
iOS 6.0 “incorrect2”<br> www.facebook.com/dialog/oauth?...
へのリクエスト fbwebapp.com へのリクエスト
-(void)webView:(UIWebView*)webView didFailLoadWithError:(NSError*)error がエラー コード -999 で呼び出されます
動作は iOS のバージョンに確実に依存していることがわかります。しかしよくあるのは、m.facebook.com/login.php.. URL を取得する段階でエラーが発生することです。しかし、それが私たちが検出できるすべてです。
私たちは一日中その壁に頭をぶつけて解決策を探しています。絶望的に。OAuth に応答し
て Facebook のログイン ページを開くのを手伝ってもらえますか?UIWebView