0

私は facebook を統合していますが、FBSession がどのようにすべてを結び付けているのかまだわかりません。

これが私がそれが機能すると思う方法です。

アプリを起動するたびに新しい FBSession が必要です。(これは本当ですか?)。また、アプリが停止するたびに FBSession を閉じる必要があります (これが正しい場合、ユーザーに再度ログインを求めずに新しいセッションを開始するにはどうすればよいでしょうか?)

セッションに関する限り、[FBSession activeSession] は facebook SDK によって管理されるグローバルですか? データを取得したり、セッションが有効かどうかを確認したりするときはいつでも、これをデフォルト セッションとして使用する必要がありますか?

上記のロジックが機能し、ユーザー ID (fb ID) を取得したと仮定すると、その ID を FBImageView にフィードしてプロフィール写真を取得しますが、この ID は起動ごとに変更されませんか? サーバーに保存するのは役に立たないのですか?起動ごとにIDを取得する必要がありますか?

上記の記述について、何が正しいか間違っているか、またその理由を教えてください。

ありがとうございました。

4

1 に答える 1

0

activeSessionの使用をお勧めしますFBSession。この方法では、自分でセッションを作成する必要はありません。をアクティブ化するため[FBSession openActiveSessionWithReadPermissions:...]のメソッドを使用するだけで、正常に開くと、Facebook リクエストに使用できます。幸運を!PS>復元するには、次のことができます。FBSessionactiveSessionFBSession.activeSessionactiveSession

if (![FBSession.activeSession isOpen]) {
        [FBSession openActiveSessionWithReadPermissions:@[@"basic_info"] allowLoginUI:NO completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
        }];
    }

ログインUIを表示せずにトークン情報がキャッシュされている場合、セッションが開きます。

于 2013-06-28T11:50:28.600 に答える