firebase / firebase-ios-sdk

Firebase SDK for Apple App Development
https://firebase.google.com
Apache License 2.0
5.67k stars 1.49k forks source link

iOS 14 WidgetKit widget crashes on configure #6745

Closed telip007 closed 4 years ago

telip007 commented 4 years ago

When calling FirebaseApp.configure() on timeline creation the widget crashes.

Step 0: Are you in the right place?

[REQUIRED] Step 1: Describe your environment

[REQUIRED] Step 2: Describe the problem

Steps to reproduce:

Add firebase to WidgetKit extension. Added new app in firebase project with bundle id of extension. Included plist file in the extension. Ran configure in timeline creation. Widget crashes.

Relevant Code:

if FirebaseApp.app() == nil {
    FirebaseApp.configure()
}
google-oss-bot commented 4 years ago

I found a few problems with this issue:

morganchen12 commented 4 years ago

Can you share the crashing stack trace?

telip007 commented 4 years ago
2020-10-20 12:05:15.653957+0200 Widget[62332:14946589] +[FBLPromise onQueue:do:]: unrecognized selector sent to class 0x100b63ab8
2020-10-20 12:05:15.657115+0200 Widget[62332:14946589] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[FBLPromise onQueue:do:]: unrecognized selector sent to class 0x100b63ab8'
*** First throw call stack:
(
    0   CoreFoundation                      0x00007fff2043a126 __exceptionPreprocess + 242
    1   libobjc.A.dylib                     0x00007fff20177f78 objc_exception_throw + 48
    2   CoreFoundation                      0x00007fff20448b88 __CFExceptionProem + 0
    3   CoreFoundation                      0x00007fff2043e666 ___forwarding___ + 1489
    4   CoreFoundation                      0x00007fff20440698 _CF_forwarding_prep_0 + 120
    5   Widget                              0x00000001009f9a2e -[FIRInstallationsStore installationExistsForAppID:appName:] + 253
    6   Widget                              0x00000001009f9357 -[FIRInstallationsStore installationForAppID:appName:] + 113
    7   Widget                              0x00000001009f527a -[FIRInstallationsIDController getStoredInstallation] + 123
    8   Widget                              0x00000001009f50d1 -[FIRInstallationsIDController createGetInstallationItemPromise] + 126
    9   Widget                              0x00000001009f4ef3 __113-[FIRInstallationsIDController initWithGoogleAppID:appName:installationsStore:APIService:IIDStore:IIDTokenStore:]_block_invoke + 35
    10  Widget                              0x00000001009f8e9f -[FIRInstallationsSingleOperationPromiseCache getExistingPendingOrCreateNewPromise] + 112
    11  Widget                              0x00000001009f5033 -[FIRInstallationsIDController getInstallationItem] + 48
    12  Widget                              0x00000001009f12ae -[FIRInstallations installationIDWithCompletion:] + 84
    13  Widget                              0x00000001009fb4d6 +[FIRAnalytics updateFirebaseInstallationID] + 62
    14  Widget                              0x00000001009fb3f2 +[FIRAnalytics startWithConfiguration:options:] + 555
    15  Widget                              0x0000000100a765e6 -[FIRApp configureCore] + 263
    16  Widget                              0x0000000100a762da +[FIRApp addAppToAppDictionary:] + 97
    17  Widget                              0x0000000100a75a75 +[FIRApp configureWithName:options:] + 745
    18  Widget                              0x0000000100a756de +[FIRApp configureWithOptions:] + 92
    19  Widget                              0x0000000100a75673 +[FIRApp configure] + 111
    20  Widget                              0x000000010085c96f $s6Widget25FavoritesTimelineProviderV17configureDatabase33_462A81473915CBB0CFD8B2CB4F032495LLyyF + 175
    21  Widget                              0x000000010085d41c $s6Widget25FavoritesTimelineProviderV03getC03for2in10completionyAA0bA6IntentC_0A3Kit0cD7ContextVyAJ0C0VyAA014GasStationListA5EntryVGctF + 780
    22  Widget                              0x0000000100860c59 $s6Widget25FavoritesTimelineProviderV0A3Kit06IntentcD0AadEP03getC03for2in10completiony0F0Qz_AD0cD7ContextVyAD0C0Vy5EntryQzGctFTW + 57
    23  WidgetKit                           0x00007fff56ea5bc2 globalinit_33_6540D1AB3BE90733534B2F8C29CEA485_func76 + 7906
    24  WidgetKit                           0x00007fff56ea6a7e block_destroy_helper.30 + 46
    25  libdispatch.dylib                   0x00007fff2010535b _dispatch_call_block_and_release + 12
    26  libdispatch.dylib                   0x00007fff20106534 _dispatch_client_callout + 8
    27  libdispatch.dylib                   0x00007fff20113011 _dispatch_main_queue_callback_4CF + 1045
    28  CoreFoundation                      0x00007fff203a8276 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
    29  CoreFoundation                      0x00007fff203a2b06 __CFRunLoopRun + 2685
    30  CoreFoundation                      0x00007fff203a1b9e CFRunLoopRunSpecific + 567
    31  Foundation                          0x00007fff20846e61 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 209
    32  Foundation                          0x00007fff20847075 -[NSRunLoop(NSRunLoop) run] + 76
    33  libxpc.dylib                        0x00007fff2005d506 _xpc_objc_main + 591
    34  libxpc.dylib                        0x00007fff2005f4aa xpc_main + 143
    35  Foundation                          0x00007fff2094ecc6 service_connection_handler + 0
    36  PlugInKit                           0x00007fff2f0a8aaf __PLUGINKIT_CALLING_OUT_TO_CLIENT_SUBSYSTEM_FOR_BEGINUSING__ + 33064
    37  PlugInKit                           0x00007fff2f0a8747 __PLUGINKIT_CALLING_OUT_TO_CLIENT_SUBSYSTEM_FOR_BEGINUSING__ + 32192
    38  PlugInKit                           0x00007fff2f0a8e75 __PLUGINKIT_CALLING_OUT_TO_CLIENT_SUBSYSTEM_FOR_BEGINUSING__ + 34030
    39  ExtensionKit                        0x00007fff5836279c EXExtensionMain + 70
    40  Foundation                          0x00007fff2088c079 NSExtensionMain + 208
    41  libdyld.dylib                       0x00007fff20257415 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[FBLPromise onQueue:do:]: unrecognized selector sent to class 0x100b63ab8'
terminating with uncaught exception of type NSException
maksymmalyhin commented 4 years ago

It looks like an issue with the project setup. I would suggest to double check carefully all steps from the Carthage integration guide. Things you may try to check first:

Could you please try and let us know the result.

telip007 commented 4 years ago

-ObjC flag was added to Other Linker Flags of your app and extension target.

Was the fix! Thank you. :)