“不完整”我指的是一个特定的用户之旅
>用户打开iOS应用程序,并选择Google登录.
> Google SDK会将用户导航到G应用程序进行登录(如果G未安装,则为Webview).
>用户远离Google导航(例如轻触主屏幕按钮),而不接受或拒绝所请求的权限.
>用户导航回iOS应用程序.
使用Facebook SDK,当应用程序激活时,如果用户通过呼叫跟随类似的旅程,则登录会话将关闭
[FBAppCall handleDidBecomeActive];
Google SDK似乎没有任何优先级.
使用iOS7,Google SDK
pod’google-plus-ios-sdk’,’〜> 1.5′
解决方法
根据所描述的情况,用户已经跳过Google登录的身份验证过程,或者通过点击主屏幕导航到主屏幕.
第一路:
在此基础上,GPPSignInDelegate从未被调用
- (void)finishedWithAuth: (GTMOAuth2Authentication *)auth error: (NSError *) error { NSLog(@"Received error %@ and auth object %@",error,auth); }
现在,如果开发人员在NSUserDefault或plist或本地数据库中保存Google Plus auth密钥,那么他直接在AppDelegate的didBecomeActive方法中检查它.
-(void)applicationDidBecomeActive:(UIApplication *)application { //Check whether Google Plus auth key is present from the stored location or variable }
第二路:
在applicationDidBecomeActive方法中,可以直接检查验证是否完成
-(void)applicationDidBecomeActive:(UIApplication *)application { if ([[GPPSignIn sharedInstance] authentication]) { // The user has signed in properly } else { // The user has not signed in properly } }