私はグーグルプラスの統合を行い、簡単なログインを行い、グーグルの友達をテーブルに表示しました。しかし、問題は、ユーザーがログインしているかどうかを確認したい友達をロードする前にあるので、私の friendsdisplayViewController で私はこのようなことをしました
if ([GPPSignIn sharedInstance].authentication)
{
NSLog(@"Status is authenticated, fetching friends!!");
[self fetchGooglePlusFriends:kGTLPlusCollectionVisible];
}
else
{
[[GPPSignIn sharedInstance]authenticate];
}
最初のsignupviewcontrollerで1つ、この下で1つ、コールバック関数を定義しました
-(void)finishedWithAuth:(GTMOAuth2Authentication *)auth error:(NSError *)error
{
//code
}
しかし、else ケースが実行されるたびに、friendsdisplayViewController で定義したものではなく、signupviewcontroller で定義されたコールバック関数が常に呼び出されるため、リストを表示することはできませんが、認証を検証することはできます。
この Google コールバック関数 (finishedWithAuth) への呼び出しがどのように行われるのか興味があります。認証がフレンドディスプレイからトリガーされたにもかかわらず、フレンドディスプレイではなくサインアップで呼び出されたのはなぜですか。