1

アプリに Facebook iOS SDK v3.5 を使用しています。Facebook アプリをインストールして iOS デバイスにログインしていない場合 ([設定] > [facebook])、アプリに初めてログインすると、正常に動作します。Facebook アプリのログイン ビューに切り替わり、[OK] ボタンと [キャンセル] ボタンでいくつかの権限が表示されます。しかし、アプリにログインしてログアウトし、再度ログインした後も、Facebook アプリの同じ許可画面が引き続き表示されます。予想される動作は、最初のログインで既に許可しているため、2 回目のログイン時にその許可画面が表示されないことだと思います。

FB SDK v3.5 のサンプルプロジェクト「Scrumptious」でも同様のことが起こります。誰かがこの問題を解決する方法を知っていますか? ありがとう。

4

1 に答える 1

1

私が正しく理解している場合、動作は意図したとおりに機能しています。ここでのセマンティックは、基本的にユーザーがログアウトしたということなので、再度ログインするかどうかの確認を求めるのが適切です。具体的には、サンプル (およびほとんどのアプリ) のログアウト コードは、デバイスのトークン キャッシュをクリアするためのもので、次回アプリが新しいトークンを要求するときに使用されます。

ユーザーがパーミッションを付与すると (そしてパーミッションが取り消されるまで)、Facebook サーバーはこれを認識していることは間違いありません。その結果、ログイン画面でわずかに微妙なフローが発生します (これは、scrumptious にパブリッシュを許可することで確認できます。次に投稿をリクエストすると、「この許可は既に許可されています」のようなものになります)。

そのため、技術的にはトークン キャッシュをクリアすることはできませんが、ログアウト オプションを気にする必要はありません。

それが役立つことを願っています。

于 2013-05-23T21:21:45.727 に答える