2012-04-24 7 views
4

私はUIWebViewとHTML5 code Facebookを使ってiPadアプリケーションにFacebookのコメントを追加しています。 ユーザーがログインしていない場合、アプリケーションはコメントを表示し、「Facebookにログインしてコメントを投稿」ボタンを押します。ログイン後にUIWebViewのFacebookのコメントにリダイレクトしない

Comments initial window

ボタンをクリックすると、ログインプロセスを通じて、私を取ります。ログインが完了すると、ビューは「ログイン完了」というメッセージが表示された空のページでリダイレクトされます。コメントダイアログにリダイレクトされません。

enter image description here

は今、私は醜い回避策を実施しました。 webViewDidFinishLoadイベントを受信すると、ページの内容を見て、ページにこのメッセージが表示されたらリロードします。しかし、それは行くためのきれいな方法ではありません。

なぜ私はFacebookが元のコメントページにリダイレクトされないのですか?

私はあなたが抱えている問題は、この問題に関連している疑いがある
+0

はあなたのXcodeのアプリのURLスキームに自分のFacebookのアプリケーションIDを追加したことがありますか? – NonatomicRetain

+1

はい、正しく設定しました。 – UrK

答えて

1

Facebook authentication in a UIWebView does not redirect back to original page on my site asking for auth

は具体的には、標準のFacebookのWebログイン・プロセスは、新しいブラウザウィンドウダイアログを起動し、ログイン成功を示すために、バックオープナーにメッセージをディスパッチリダイレクトが発生する。

リンクされたSOの一節を引用すると、「UIWebViewは複数のウィンドウをサポートしていないため、読み込まれていないので元のページに戻すことはできません。

0

私はiPadアプリケーションも開発しています。私のソリューションはあなたのものに似ています。私はユーザーを常に「https://m.facebook.com」に誘導しています。常にログインしてから、 webViewDidFinishLoad」私が返されたURLを検査し、それが一致した場合:

『https://m.facebook.com/login/checkpoint/』

はまさに、つまり、URLは、ログイン成功時に返されます私は自分のメソッドを呼び出す(リロードまたは私が望む何でも)。この時点で、ユーザーは認証され、有効なFBセッションを持っているため、リダイレクトはもう必要ありません。

FBがログインダイアログを処理する方法を変更すると、間違いなく間に合わなくなることがありますが、それでも解決できない方法はありません。 "FB.Event.subscribe( 'auth.login'、function(response){});"コードが決して到達されないので、もちろん成功することはありません。

I'LL、私はこの質問と同じ問題に遭遇したが、いくつかFacebook official documentationを読んだ後

0

...私はバグがすでにFBに提出されると思いますが、私はそれが値する注目を集めないと思いますFacebookのネイティブSDKを使用するように再設計する必要があります。

すべてのiOSアプリとAndroidアプリは、iOSとAndroid用に SDKを使用して権限をリクエストする必要があります(2013年10月2日以降有効)。

「その他」は単に「開発者通知」であるともわかりますが、それは同じアプローチを使用して誰かのための時間の節約になります期待してこの投稿

:)

関連する問題