- (NSError *) login{ NSLog(@"In login :%@ %@ %@",kClIEntID,scopes,actions); if(!kClIEntID|| !scopes) { NSLog(@"Either clIEnt ID Or scope is not specifIEd!! "); NSError *err=[[NSError alloc]initWithDomain:@"Scope not specifIEd" code:0 userInfo:nil]; return err; } else { NSLog(@"ClIEnt ID and Scope are set."); GPPSignIn *signIn = [GPPSignIn sharedInstance]; signIn.delegate = self; signIn.shouldFetchGooglePlusUser = YES; [signIn authenticate]; [signIn trySilentAuthentication]; return nil; }}- (voID)finisheDWithAuth:(GTMOAuth2Authentication *)auth error:(NSError *)error{ NSLog(@"Received error %@ and auth object %@",error,auth);}
而且在AppDelegate中我正在添加代码
- (BOol)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(Nsstring *)sourceApplication annotation:(ID)annotation { return [GPPURLHandler handleURL:url sourceApplication:sourceApplication annotation:annotation];}
我已检查要指定的软件包ID和URL类型,它们与Google Api访问中的软件包ID相同.
这些方法在LoginClass中,在MyVIEwController类中使用.
当我将finisheDWithAuth委托设置为MyVIEwController时,通过将其设置为GPPSignInDelegate,代码运行正常.但是,我想在LoginClass中使用它.
任何想法,我哪里错了?
解决方法 由于您的LoginClass是一个Swift类,因此修复它是使它成为NSObject的子类.我遇到了同样的问题:当我尝试将委托设置为不是NSObject的子类的类时,分配失败并且委托仍为零.当我将NSObject作为超类添加时,赋值按预期工作.
总结以上是内存溢出为你收集整理的ios – 在authenticate方法之后没有调用finishedWithAuth全部内容,希望文章能够帮你解决ios – 在authenticate方法之后没有调用finishedWithAuth所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)