Crashlytics
에서 Google 로그인 프로세스에서 많은 크래시 보고서를 수신하고 있습니다. 우리는 지금까지 시도했습니다Swift - uiDelegate는 UIViewController이거나 signIn : presentViewController : & signIn : dismissViewController : 메소드를 구현해야합니다.
Fatal Exception: NSInvalidArgumentException
uiDelegate must either be a |UIViewController| or implement the |signIn:presentViewController:| and |signIn:dismissViewController:| methods from |GIDSignInUIDelegate|.
Fatal Exception: NSInvalidArgumentException
0 CoreFoundation 0x1837f2db0 __exceptionPreprocess
1 libobjc.A.dylib 0x182e57f80 objc_exception_throw
2 CoreFoundation 0x1837f2cf8 -[NSException initWithCoder:]
3 Hello English 0x100583d18 -[GIDSignIn assertValidUIDelegate] (GIDSignIn.m:512)
4 Hello English 0x1005861dc -[GIDSignIn signInWithOptions:] (GIDSignIn.m:961)
5 Hello English 0x10058a0e4 -[GIDSignInButton pressed] (GIDSignInButton.m:385)
6 UIKit 0x188988be8 -[UIApplication sendAction:to:from:forEvent:]
7 UIKit 0x188988b64 -[UIControl sendAction:to:forEvent:]
8 UIKit 0x188970870 -[UIControl _sendActionsForEvents:withEvent:]
9 UIKit 0x188988454 -[UIControl touchesEnded:withEvent:]
10 UIKit 0x188988084 -[UIWindow _sendTouchesForEvent:]
11 UIKit 0x188980c20 -[UIWindow sendEvent:]
12 UIKit 0x18895104c -[UIApplication sendEvent:]
13 UIKit 0x18894f628 _UIApplicationHandleEventQueue
14 CoreFoundation 0x1837a909c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
15 CoreFoundation 0x1837a8b30 __CFRunLoopDoSources0
16 CoreFoundation 0x1837a6830 __CFRunLoopRun
17 CoreFoundation 0x1836d0c50 CFRunLoopRunSpecific
18 GraphicsServices 0x184fb8088 GSEventRunModal
19 UIKit 0x1889ba088 UIApplicationMain
20 Hello English 0x10029b2cc main (AppDelegate.swift:26)
21 libdispatch.dylib 0x18326e8b8 (Missing)
:
- 우리는 또한 성공하지
GIDSignInUIDelegate
의 세 가지 방법을 구현했습니다viewDidAppear(animated: Bool)
- 에
viewDidLoad()
에서GIDSignIn.sharedInstance().uiDelegate = self
을 이전 다음과 같이 충돌 보고서입니다. - 보기 컨트롤러가
UIViewController
의 직접적인 하위 항목이 아니었지만 이제는 충돌이 계속 발생합니다. - 우리는 단순한
UIButton
을 사용했기 때문에 사고가 발생했을 수도 있지만 (비논리적이지만 시도했지만) 우리는GIDSignInButton
으로 변경했으나 충돌 횟수는 감소하지 않았습니다.
지금까지 Google Login
프로세스를 제거했지만 해결 방법이 아닙니다. 그리고 이상한 것은 우리가 우리의 끝에서이 충돌을 재현 할 수 없다는 것입니다; Crashlytics
에서만 이러한 충돌이 발생합니다.
아무도 없습니까?
왜 대리인을 정의하지 않습니까? –
수정 사항을 참조하십시오. –
참조하십시오. http://stackoverflow.com/questions/35371393/terminating-app-due-to-uncaught-exception-nsinvalidargumentexception-ios-goo –