Swift 嵌入式框架中的Firebase崩溃报告

Swift 嵌入式框架中的Firebase崩溃报告,swift,firebase,authentication,crashlytics,Swift,Firebase,Authentication,Crashlytics,我正在开发一个应用程序,MainProject,它有一个嵌入式框架,EmbeddedFramework(也是由我的团队开发的),我正在合并Firebase Crashlytics以获得崩溃报告 在基本应用程序中,崩溃报告似乎工作得很好,我得到了去模糊的报告,指出了崩溃发生的确切位置 另一方面,当嵌入式系统内部发生崩溃时,崩溃报告失败 框架当这种情况发生时,我得到的只是一个或一行代码,这使得识别和/或调试非常困难 例如,对于Firebase中的崩溃报告的此实例: 崩溃:com.apple.mai

我正在开发一个应用程序,
MainProject
,它有一个嵌入式框架,
EmbeddedFramework
(也是由我的团队开发的),我正在合并Firebase Crashlytics以获得崩溃报告

在基本应用程序中,崩溃报告似乎工作得很好,我得到了去模糊的报告,指出了崩溃发生的确切位置

另一方面,当嵌入式系统内部发生崩溃时,崩溃报告失败 框架当这种情况发生时,我得到的只是一个
或一行
代码,这使得识别和/或调试非常困难

例如,对于Firebase中的崩溃报告的此实例:

崩溃:com.apple.main-thread
0 EmbeddedFramework 0x101b38628$S6 EmbeddedFramework 0A14身份验证C6IsidleSBVG+114
1主项目0x100d07a94专用EntryViewController。单击登录(发件人:)+884(:884)
2主项目0x100d035c4@objc EntryViewController。单击登录(发件人:)+48(:48)
3 UIKitCore 0x1DBD7300-[UIApplication sendAction:to:from:forEvent:+96
4 UIKitCore 0x1db890424-[UIControl发送操作:发送到:forEvent:+80
5 UIKitCore 0x1db890744-[UIControl\u发送操作预防:带事件:+440
6 UIKitCore 0x1db88f7b0-[UIControl触摸已选择:带事件:][568
7 UIKitCore 0x1DBEE5C4-[UIWindow\u sendTouchesForEvent:+2108
8 UIKitCore 0x1dbe1f7ec-[UIWindow sendEvent:+3140
9 UIKitCore 0x1DBDF85C-[UIApplication sendEvent:+340
10 UIKitCore 0x1dbec59d4 uu调度预处理事件RomeventQueue+1768
11 UIKitCore 0x1dbec8100 _uhandleeventqueueinternal+4828
12 UIKitCore 0x1dbec1330\uuu handleHIDEventFetcherDrain+152
13 CoreFoundation 0x1af46c728\uuuu CFRUNLOOP\u正在调用\uu OUT\uu以执行\uu函数\uuuu+24
14 CoreFoundation 0x1af46c6a8\uu CFRunLoopDoSource0+88
15 CoreFoundation 0x1af46bf90\uu CFRunLoopDoSources0+176
16 CoreFoundation 0x1af466ecc\uuu CFRunLoopRun+1004
17 CoreFoundation 0x1af4667c0 CFRunLoopRunSpecific+436
18图形服务0x1b166779c GSEventRunModal+104
19 UIKitCore 0x1dbde5c38 UIApplicationMain+212
20主项目0x100cc9294主+24(AppDelegate.swift:24)
21 libdyld.dylib 0x1aef2a8e0开始+4
报告指向类
EntryViewController
中的函数
clickLogin(发送者:)
,但我知道在
EmbeddedFramework
中的
Authentication
方法中发生了崩溃,因为我是出于测试目的而导致崩溃的。然而,这些信息是模糊和隐藏的


为什么会发生这种情况?是否可以让Firebase识别嵌入式框架内发生的崩溃并指向正确的线路?

与Firebase支持部门联系后,我得到了以下答案:

我发现您在iOS框架中使用Crashlytics时遇到了问题。显然,这是我们没有正式支持的,我们还没有对这个用例进行任何彻底的测试

另外,正如我们的工程师所说“我们的SDK只支持初始化一次。在框架和应用程序中初始化会导致冲突。您和应用程序开发人员将拥有不同的API密钥,并且无法要求应用程序开发人员向您的SDK授予权限,以便与您的框架共享其代码中的堆栈跟踪。将我们包括在您的框架中会给您的框架和任何使用它的人带来问题,所以这就是为什么我说不要包括我们!"

所以,实际上这似乎不受支持。但是,他们已经将其添加到未来功能的建议中,所以可能在将来

Crashed: com.apple.main-thread
0  EmbeddedFramework              0x101b38628 $s6EmbeddedFramework0A14AuthenticationC6isIdleSbvg + 114
1  MainProject                    0x100d07a94 specialized EntryViewController.clickLogin(sender:) + 884 (<compiler-generated>:884)
2  MainProject                    0x100d035c4 @objc EntryViewController.clickLogin(sender:) + 48 (<compiler-generated>:48)
3  UIKitCore                      0x1dbde7300 -[UIApplication sendAction:to:from:forEvent:] + 96
4  UIKitCore                      0x1db890424 -[UIControl sendAction:to:forEvent:] + 80
5  UIKitCore                      0x1db890744 -[UIControl _sendActionsForEvents:withEvent:] + 440
6  UIKitCore                      0x1db88f7b0 -[UIControl touchesEnded:withEvent:] + 568
7  UIKitCore                      0x1dbe1e5c4 -[UIWindow _sendTouchesForEvent:] + 2108
8  UIKitCore                      0x1dbe1f7ec -[UIWindow sendEvent:] + 3140
9  UIKitCore                      0x1dbdff85c -[UIApplication sendEvent:] + 340
10 UIKitCore                      0x1dbec59d4 __dispatchPreprocessedEventFromEventQueue + 1768
11 UIKitCore                      0x1dbec8100 __handleEventQueueInternal + 4828
12 UIKitCore                      0x1dbec1330 __handleHIDEventFetcherDrain + 152
13 CoreFoundation                 0x1af46c728 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
14 CoreFoundation                 0x1af46c6a8 __CFRunLoopDoSource0 + 88
15 CoreFoundation                 0x1af46bf90 __CFRunLoopDoSources0 + 176
16 CoreFoundation                 0x1af466ecc __CFRunLoopRun + 1004
17 CoreFoundation                 0x1af4667c0 CFRunLoopRunSpecific + 436
18 GraphicsServices               0x1b166779c GSEventRunModal + 104
19 UIKitCore                      0x1dbde5c38 UIApplicationMain + 212
20 MainProject                    0x100cc9294 main + 24 (AppDelegate.swift:24)
21 libdyld.dylib                  0x1aef2a8e0 start + 4