Firebase cra sh отчеты во встроенной среде - PullRequest
0 голосов
/ 06 февраля 2020

Я разрабатываю приложение, MainProject, которое имеет встроенный фреймворк EmbeddedFramework (также разработанный моей командой), и я включаю Firebase Crashlytics для получения отчетов sh.

В базовом приложении отчеты cra sh работают нормально, я получаю расфокусированные отчеты, указывающие на точную линию, где произошел cra sh.

В другом С другой стороны, отчет cra sh завершается ошибкой, когда cra sh происходит внутри встроенной платформы. Когда это происходит, все, что я получаю, это строка кода <compiler generated> или <specialized>, что делает его действительно трудным для идентификации и / или отладки.

Например, для этого экземпляра cra sh отчет в Firebase: enter image description here

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

Отчет указывает на функцию clickLogin(sender:) в классе EntryViewController, но я точно знаю, что cra sh происходит в методе Authentication в EmbeddedFramework, потому что я вызываю его для целей тестирования. Однако эта информация скрыта и скрыта.

Почему это происходит? Можно ли заставить Firebase распознавать сбои, происходящие внутри встроенного фреймворка, и указывать на правильную строку?

1 Ответ

0 голосов
/ 13 февраля 2020

После обращения в службу поддержки Firebase я получил ответ:

Я вижу, что у вас возникают проблемы с использованием Crashlytics в вашей iOS инфраструктуре. По-видимому, это то, что мы официально не поддерживаем, и мы еще не провели тщательного тестирования для этого варианта использования.

Также, как указано нашим инженером: «Наш SDK поддерживает инициализацию только один раз. инициализация в среде и приложении может привести к конфликту. У вас и у разработчика приложения будут разные ключи API, и нет способа попросить разработчика приложения дать разрешение вашему SDK на совместное использование трассировок стека из их кода с вашей средой. в вашем фреймворке будут проблемы для вашего фреймворка и всех, кто его использует, поэтому я сказал, что не включайте нас! "

Таким образом, кажется, что это не поддерживается. Тем не менее, они добавили его в предложения для будущих функций, так что, возможно, в будущем ...

...