成功登录后,Google登录应用在IOS中崩溃(目标C)

林托·雅各布

我正在使用Xcode 8.0,在iOS 10.0上进行测试,并使用手动安装的SDK GoogleSignIn / GoogleSignIn.h。

成功登录后App崩溃了。下面我提到的错误消息

错误:

由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'-[pinakinAudioListViewController signIn:didSignInForUser:withError:]:无法识别的选择器已发送至实例0x7fc44e863c00'***首次抛出调用堆栈:(0 CoreFoundation 0x000000010229034b exceptionPreprocess + 171 1 libobjcA。名为.dylib
0x000000010596121e objc_exception_throw + 48 2的CoreFoundation
0x00000001022fff34 - [NSObject的(NSObject的)doesNotRecognizeSelector:] + 132 3的CoreFoundation 0x0000000102215a2e ___forwarding_
+ 526 4的CoreFoundation 0x0000000102215798 _CF_forwarding_prep_0 + 120 5 Pinakin
0x0000000100e517af 37- [GIDSignIn addCallDelegateCallback:] _ block_invoke + 116 6 Pinakin
0x0000000100e49981 - [ GIDCallbackQueue fire] + 147 7皮纳金
0x0000000100e5735b-[GIDTokenFetchDelegate didFinishTokenFetchWithAuth:fetcher:error:] + 53 8 CoreFoundation
0x000000010221705c __invoking_
+ 140 9 CoreFoundation
0x0000000102216ee1-[NSInvocation invoke] + 289 10 Pinakin invoke0x0000000100e5c771
+ [Object:Object:D:Object:Object:D:
0x0000000100e5ba79-[GTMOAuth2Authentication tokenFetcher:finishedWithData:error:] + 648 12 CoreFoundation
0x000000010221705c调用_ + 140 13 CoreFoundation
0x0000000102216ee1-[NSInvocation调用] + 289 14 Pinakin
0x0000000100e61bd367- [GTMSessionFetcher completionHandlerWithTarget:didFinishSelector:] _ block_invoke + 268 15 Pinakin 0x0000000100e692c5 __71- [GTMSessionFetcher invokeFetchCallbacksOnCallbackQueueWithData:错误:] _ block_invoke + 25 16 libdispatch.dylib 0x00000001064ff980 _dispatch_call_block_and_release + 12 17 libdispatch.dylib 0x00000001065290cd _dispatch_client_callout + 8 18 libdispatch.dylib 0x0000000106509a1d _dispatch_main_queue_callback_4CF + 733 19 CoreFoundation 0x00000001022544f9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE + 9 20 CoreFoundation 0x0000000102219f8d __CFRunLoopRun + 2205 21 CoreFoundation 0x0000000102219494 CFRunLoopRunSpecific + 420 22 GraphicsServices
0x00000001081ckin 20PUI
0UI 0MainUI 0304
0x0000000100daa00f主+ 111 25 libdyld.dylib
0x000000010657568d开始+ 1 26 ???
0x0000000000000001 0x0 +1)libc ++ abi.dylib:以类型为NSException的未捕获异常终止

我使用此代码创建了自定义登录

GIDSignIn *sigNIn=[GIDSignIn sharedInstance];
[sigNIn setDelegate:self];
[sigNIn setUiDelegate:self];
sigNIn.shouldFetchBasicProfile = YES;

sigNIn.scopes = @[@"https://www.googleapis.com/auth/userinfo.email",@"https://www.googleapis.com/auth/userinfo.profile"];
sigNIn.clientID =@"851647387203-6n9vm1jpn8uv2c0g1qsrdi4nn69f8rh5.apps.googleusercontent.com";
[sigNIn signIn];

在AppDelegate中

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
    sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {         

    BOOL wasHandled=false;
    if ([url.scheme hasPrefix:@"fb"]) {

        wasHandled = [[FBSDKApplicationDelegate sharedInstance] application:application
                                                                    openURL:url
                                                          sourceApplication:sourceApplication
                                                                 annotation:annotation
                      ];

        //Facebook callback
    }
    else       //Google Plus callback
    {
        wasHandled= [[GIDSignIn sharedInstance] handleURL:url
                                        sourceApplication:sourceApplication
                                               annotation:annotation];

    }

    NSLog ( @"application openURL");
    NSLog ( @"URL = %@", url);
    NSLog ( @"Application = %@", sourceApplication);

    return wasHandled;
}
拉蒙

只需在您的服务器中实现signIn:didSignInForUser:withError:委托方法即可GIDSignInDelegatepinakinAudioListViewController

- (void)signIn:(GIDSignIn *)signIn didSignInForUser:(GIDGoogleUser *)user withError:(NSError *)error {
  NSLog(@"User signed in!");
}

请不要忘记也要实施signIn:didDisconnectWithUser:withError:

另请参阅:https : //developers.google.com/identity/sign-in/ios/api/protocol_g_i_d_sign_in_delegate-p

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

应用在 Play 商店发布后,Google plus 登录和 Google 地图无法使用

应用在静态方法中调用 setState 后崩溃

由于重定向,Angular电容器应用在firebase登录时崩溃

系统iOS更新后,React Native应用在启动时崩溃

升级到Google Play服务8.4.0后,我的应用在启动时崩溃

流星应用在一段时间后在C9上崩溃

Flutter应用在“ Flutter Clean”和调试后崩溃

通过iOS应用在服务器上调用函数-目标C

Google Map应用在Android OS 4.3上崩溃

应用在Android中的SocketTimeoutException上崩溃

AdMob使我的应用在发行版中崩溃

iOS应用在发行中崩溃,但在开发中没有崩溃,并且Swift符号未解决

通过 google plus ios 登录时应用程序崩溃

关闭应用在模拟器中运行后

应用在发布模式下崩溃,但在启用僵尸程序后不会崩溃

应用在不同设备上崩溃

应用在Android 4.3上崩溃

我的应用在UIDocumentPickerViewController上崩溃了

应用在横向模式下崩溃

应用在reloadData时崩溃

Android应用在重启时崩溃

我怎么知道哪一行代码导致我的iOS应用在Xcode 9中崩溃

应用中来自其他帐户的Google登录崩溃

应用在发布版本中崩溃,但在调试中不崩溃

可可-如何使非沙盒macOS应用在登录时启动?

Xamarin.iOS应用在iOS13上启动时崩溃

成功登录Google后加载页面

Cocos2d-js:Android应用在睡眠时间后崩溃(JS_AbortIfWrongThread)

Xcode 11 GM-应用在设备上启动后崩溃,由于信号9而终止