私はすでに、フィード ダイアログを使用してユーザーのタイムラインに更新を公開するアプリを FB と iOS の両方に実装していました。これは、ほとんどのユーザーが「エラーが発生しました。後でもう一度やり直してください」ページ。
FB SDK を最新バージョンに更新し、うまくいけばこの問題を修正することに着手しました。最初は基本チュートリアルアプリでうまく投稿できていたのですが、ネイティブのIOS FBログイン設定を解除したらまたエラー画面が出てしまいました。
再現する手順:
新しい iOS シミュレーターから始めます。
設定画面からFacebookにログインします。
FBWebDialogs presentFeedDialogModallyWithSession:parameters:handler: を共有ボタンとして追加して、基本的なチュートリアルを実行します。
ログインは期待どおりに機能します。
共有は期待どおりに機能し、タイムラインに投稿できる Web ダイアログが表示されます。
アプリを終了します(単に切り替えるだけではありません)
[設定] から、Facebook アカウントを削除します。
アプリを再実行し、ログインをタップします。Web ログイン ダイアログが表示されます。
ログインして「共有」し、FBWebDialogs を呼び出します。
「エラーが発生しました」画面に注意してください。
これを破棄して、ログアウトボタンをタップしてください。
ログインをタップすると、もう一度 Web ログイン ダイアログが表示されます。
ログインすると、FBApps アクセスを確認するように求められます (既に承認されていることが通知されます)。[OK] をタップします。
[共有] をタップすると、期待どおりに [フィード] ダイアログが表示されます。
(この段階でログアウトしてもしなくても構いません。違いはありません)。iOS 設定ページに戻り、Facebook アカウントを再度追加します。
アプリを実行し、ログインをタップします。
Web UI ログイン画面が表示されます (これは想定外です)。
ログイン後、[共有] をタップして FBWebDialog 呼び出しを開始します。
「エラーが発生しました」画面に注意してください。この時点で、iOS の設定で Facebook アカウントを削除し、手順 8 に戻る以外に投稿することはできません。
この問題は、ユーザーがデバイスから FB 設定を削除した場合に発生するようです。また、ユーザーが iOS 設定画面を介してデバイスで FB 設定を行っていて、Web UI を介してログインしようとすると、フィード ダイアログの投稿は失敗します。
この問題を解決する方法を知りたいです。