gpt4 book ai didi

ios - 在验证方法后未调用 finishedWithAuth

转载 作者:可可西里 更新时间:2023-11-01 17:07:35 24 4
gpt4 key购买 nike

我已经设置了 clientID 和范围,然后在 MyViewController 中单击按钮,我正在从 LoginCLass 调用方法登录,但在 [signIn authenticate] 之后,委托(delegate)实现 finishedWithAuth 没有被调用。我已经设置了 .h 文件作为

- (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 委托(delegate)设置为 MyViewController 时,通过将其设置为 GPPSignInDelegate,代码运行正常。但是,我想从 LoginClass 使用它。

知道吗,我哪里错了??

最佳答案

由于您的 LoginClass 是一个 Swift 类,解决方法是使其成为 NSObject 的子类。

我有同样的问题:当我试图将委托(delegate)设置为一个不是 NSObject 子类的类时,赋值失败并且委托(delegate)仍然为 nil。当我将 NSObject 添加为父类(super class)时,分配按预期工作。

关于ios - 在验证方法后未调用 finishedWithAuth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21727342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com