我目前在我的应用程序中实现了 Google SignIn。今天我收到了来自 Crashlytics 的通知,说应用程序在登录过程中崩溃了。一位用户还写道,他们在点击实际的“使用 Google 登录”时遇到了崩溃GIDSignInButton。他们来自国外,因此无法从他们的设备进行调试。
现在我已经尝试多次复制,但似乎无法成功。它对我和我问的其他人来说完全没问题。
Crashlytics 的崩溃日志是:
#0. Crashed: com.apple.main-thread
0 ... 0x10018b3f0 specialized AppDelegate.signIn(GIDSignIn!, didSignInForUser : GIDGoogleUser!, withError : NSError!) -> () (AppDelegate.swift:313)
1 ... 0x10018364c @objc AppDelegate.signIn(GIDSignIn!, didSignInForUser : GIDGoogleUser!, withError : NSError!) -> () (AppDelegate.swift)
2 ... 0x1002e0e10 __37-[GIDSignIn addCallDelegateCallback:]_block_invoke (GIDSignIn.m:1265)
3 ... 0x1002d8fb8 -[GIDCallbackQueue fire] (GIDCallbackQueue.m:81)
4 ... 0x1002e09dc __38-[GIDSignIn addDecodeIdTokenCallback:]_block_invoke_2 (GIDSignIn.m:1236)
5 GTMSessionFetcher 0x1007cf864 __71-[GTMSessionFetcher invokeFetchCallbacksOnCallbackQueueWithData:error:]_block_invoke (GTMSessionFetcher.m:2336)
6 libdispatch.dylib 0x187ed21fc _dispatch_call_block_and_release + 24
7 libdispatch.dylib 0x187ed21bc _dispatch_client_callout + 16
8 libdispatch.dylib 0x187ed6b2c _dispatch_main_queue_callback_4CF + 428
9 CoreFoundation 0x188ff6810 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
10 CoreFoundation 0x188ff43fc __CFRunLoopRun + 1660
11 CoreFoundation 0x188f222b8 CFRunLoopRunSpecific + 444
12 GraphicsServices 0x18a9d6198 GSEventRunModal + 180
13 UIKit 0x18ef697fc -[UIApplication _run] + 684
14 UIKit 0x18ef64534 UIApplicationMain + 208
15 ... 0x100084eac main (....swift:65)
16 libdispatch.dylib 0x187f055b8 (Missing)
我知道它引用了代码中的两行,但第二行甚至不存在。AppDelegate 313 上的行确实有user.serverAuthCode. 我想知道它是否会崩溃,因为这可能会变成 nil 但它会说不是吗?
我想知道是否有人可以帮助我调试它并尝试找出崩溃的原因?