1

我已经完成了 google plus 集成,并且完成了简单的登录并在桌面上显示了 google 朋友。但问题是在我加载我想检查用户是否登录的朋友之前,所以在我的friendsdisplayViewController中我做了这样的事情

if ([GPPSignIn sharedInstance].authentication)
        {
            NSLog(@"Status is authenticated, fetching friends!!");
        [self fetchGooglePlusFriends:kGTLPlusCollectionVisible];
        }
        else
        {

        [[GPPSignIn sharedInstance]authenticate];

        }

我在初始 signupviewcontroller 上定义了一个回调函数,在这个下定义了一个

-(void)finishedWithAuth:(GTMOAuth2Authentication *)auth error:(NSError *)error
{
//code
}

但是,每当执行 else 案例时,它总是调用在 signupviewcontroller 上定义的回调函数,而不是我在 friendsdisplayViewController 上定义的回调函数,因此我无法显示列表,但能够验证身份验证。

我只是好奇如何调用这个谷歌回调函数(finishedWithAuth)。为什么即使身份验证是从friendsdisplay触发的,它也会在注册中调用而不是在friendsdisplay中调用。

4

1 回答 1

0

我发现问题是因为需要将委托放在您正在调用的每个视图控制器上,即GPPSignInDelegate。 然后,finishedWithAuth 将从您尝试调用它的 ViewController 触发,否则它将触发位于堆栈顶部的 ViewController 中的finishedWithAuth。

于 2013-11-13T04:21:49.040 回答