I did a manually install of the Firebase SDK to my iOS project. Following the instruction from README.md
I included all the files from the Analytics folder:
FirebaseAnalytics.framework
FirebaseInstanceID.framework
GoogleInterchangeUtilities.framework
GoogleSymbolUtilities.framework
GoogleUtilities.framework
And I included "import FirebaseAnalytics" to my AppDelegate. and then I called:
FIRApp.configure()
But Xcode is still telling me this:
*** Terminating app due to uncaught exception 'com.firebase.core', reason: '[FIRApp configure] Firebase Analytics is not available.'
*** First throw call stack:
(
0 CoreFoundation 0x0000000104178d85 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x0000000106761deb objc_exception_throw + 48
2 CoreFoundation 0x0000000104178cbd +[NSException raise:format:] + 205
3 helloworld 0x0000000103f17190 -[FIRApp configureCore] + 325
4 helloworld 0x0000000103f16bb1 +[FIRApp addAppToAppDictionary:] + 100
5 helloworld 0x0000000103f162e2 +[FIRApp configureDefaultAppWithOptions:sendingNotifications:] + 268
6 helloworld 0x0000000103f16027 +[FIRApp configure] + 302
7 helloworld 0x0000000103ee9d81 _TFC6mognet11AppDelegate11applicationfTCSo13UIApplication29didFinishLaunchingWithOptionsGSqGVs10DictionaryCSo8NSObjectPs9AnyObject____Sb + 97
8 helloworld 0x0000000103ee9ea4 _TToFC6mognet11AppDelegate11applicationfTCSo13UIApplication29didFinishLaunchingWithOptionsGSqGVs10DictionaryCSo8NSObjectPs9AnyObject____Sb + 180
9 UIKit 0x00000001051a49ac -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 272
10 UIKit 0x00000001051a5c0d -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 3415
11 UIKit 0x00000001051ac568 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1769
12 UIKit 0x00000001051a9714 -[UIApplication workspaceDidEndTransaction:] + 188
13 FrontBoardServices 0x00000001091bd8c8 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 24
14 FrontBoardServices 0x00000001091bd741 -[FBSSerialQueue _performNext] + 178
15 FrontBoardServices 0x00000001091bdaca -[FBSSerialQueue _performNextFromRunLoopSource] + 45
16 CoreFoundation 0x000000010409e301 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
17 CoreFoundation 0x000000010409422c __CFRunLoopDoSources0 + 556
18 CoreFoundation 0x00000001040936e3 __CFRunLoopRun + 867
19 CoreFoundation 0x00000001040930f8 CFRunLoopRunSpecific + 488
20 UIKit 0x00000001051a8f21 -[UIApplication _run] + 402
21 UIKit 0x00000001051adf09 UIApplicationMain + 171
22 helloworld 0x0000000103eea832 main + 114
23 libdyld.dylib 0x000000010722592d start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
What am I doing wrong here? FYI. I am running Xcode Version 7.3.1 and I have the latest SDK.
Did you add the -ObjC flag in "Other Linking Flags" setting? When I did this in my Objective-C project, the app stopped crashing when trying to load Firebase. I also included all the Firebase files, used the Firebase.h header and [FIRApp configure] to call Firebase.
I am running Xcode 8.
Related
I am not sure what causes this error? I've been trying to work it out for days. Any suggestions?
Fatal Exception: NSInternalInconsistencyException
0 CoreFoundation 0x186a7186c __exceptionPreprocess
1 libobjc.A.dylib 0x19ba8dc50 objc_exception_throw
2 CoreFoundation 0x186977000 -[CFPrefsSearchListSource addManagedSourceForIdentifier:user:]
3 Foundation 0x187d0b91c -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:]
4 Flutter 0x1051f8868 (Missing)
5 Flutter 0x1051f560c (Missing)
6 Flutter 0x104ef2028 (Missing)
7 Flutter 0x10520e540 (Missing)
8 Flutter 0x1051aa7a8 (Missing)
9 Flutter 0x1051ac608 (Missing)
10 CoreFoundation 0x1869edfa0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__
11 CoreFoundation 0x1869edba0 __CFRunLoopDoTimer
12 CoreFoundation 0x1869ecffc __CFRunLoopDoTimers
13 CoreFoundation 0x1869e6ee4 __CFRunLoopRun
14 CoreFoundation 0x1869e621c CFRunLoopRunSpecific
15 GraphicsServices 0x19e5b3784 GSEventRunModal
16 UIKitCore 0x189426ee8 -[UIApplication _run]
17 UIKitCore 0x18942c75c UIApplicationMain
18 MYAPP 0x1005b1b0c main + 7 (AppDelegate.swift:7)
19 libdyld.dylib 0x1866a66b0 start
MY application consist of both bottom and upper tabs, I am calling a network request on each tab but sometimes it crash application on iOS and don't know the reason for this.
Below are logs i got on crashlytics.
Fatal Exception: NSInternalInconsistencyException
0 CoreFoundation 0x199a9b180 __exceptionPreprocess
1 libobjc.A.dylib 0x198c739f8 objc_exception_throw
2 CoreFoundation 0x1999b488c +[_CFXNotificationTokenRegistration keyCallbacks]
3 Foundation 0x19a478b38 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:]
4 Flutter 0x1014953ec (Missing)
5 Runner 0x101062c30 +[GeneratedPluginRegistrant registerWithRegistry:] + 88 (GeneratedPluginRegistrant.m:88)
6 flutter_downloader 0x101f77404 (Missing)
7 flutter_downloader 0x101f7a850 (Missing)
8 flutter_downloader 0x101f7d218 (Missing)
9 Flutter 0x101517768 (Missing)
10 Flutter 0x1014b2240 (Missing)
11 Flutter 0x101508398 (Missing)
12 Flutter 0x1014c1fd0 (Missing)
13 Flutter 0x1014c3c48 (Missing)
14 CoreFoundation 0x199a2d554 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__
15 CoreFoundation 0x199a2d284 __CFRunLoopDoTimer
16 CoreFoundation 0x199a2cab8 __CFRunLoopDoTimers
17 CoreFoundation 0x199a27a08 __CFRunLoopRun
18 CoreFoundation 0x199a26fb4 CFRunLoopRunSpecific
19 GraphicsServices 0x19bc2879c GSEventRunModal
20 UIKitCore 0x1c6288c38 UIApplicationMain
21 Runner 0x1010633bc main + 8 (AppDelegate.swift:8)
22 libdyld.dylib 0x1994ea8e0 start
Crashed: com.twitter.crashlytics.ios.exception
0 Runner 0x10107cc20 CLSProcessRecordAllThreads + 4308732960
1 Runner 0x10107d008 CLSProcessRecordAllThreads + 4308733960
2 Runner 0x10106c874 CLSHandler + 4308666484
3 Runner 0x10107b218 __CLSExceptionRecord_block_invoke + 4308726296
4 libdispatch.dylib 0x1994d97d4 _dispatch_client_callout + 16
5 libdispatch.dylib 0x199487c1c _dispatch_lane_barrier_sync_invoke_and_complete + 56
6 Runner 0x10107ac84 CLSExceptionRecord + 4308724868
7 Runner 0x10107aab0 CLSExceptionRecordNSException + 4308724400
8 Runner 0x10107a6a4 CLSTerminateHandler() + 4308723364
9 libc++abi.dylib 0x198c68838 std::__terminate(void (*)()) + 16
10 libc++abi.dylib 0x198c68434 __cxa_rethrow + 144
11 libobjc.A.dylib 0x198c73bc8 objc_exception_rethrow + 44
12 CoreFoundation 0x199a27020 CFRunLoopRunSpecific + 544
13 GraphicsServices 0x19bc2879c GSEventRunModal + 104
14 UIKitCore 0x1c6288c38 UIApplicationMain + 212
15 Runner 0x1010633bc main + 8 (AppDelegate.swift:8)
16 libdyld.dylib 0x1994ea8e0 start + 4
I am stuck at this and couldn't find any reason or solution.
Thanks in advance
What version of crashlytics are you running? If you are running iOS 13 you should upgrade to 3.14.0. as it will give you better detailed information about the crash.
I'm trying to get the FlutterFire Database working on the iOS part (it works fine on Android) of my application, but I'm getting some error messages saying that my GoogleService-Info.plist file is no where to be found. But I'm pretty sure it is placed correctly in my project.
This is the console output:
[Firebase/Core][I-COR000003] The default Firebase app has not yet been configured. Add [FIRApp configure] to your application initialization. Read more: https://firebase.google.com/docs/ios/setup#initialize_firebase_in_your_app.
[Firebase/Core][I-COR000012] Could not locate configuration file: 'GoogleService-Info.plist'.
[Firebase/Core][I-COR000005] No app has been configured yet.
*** Terminating app due to uncaught exception 'com.firebase.core', reason: '[FIRApp configure] could not find a valid GoogleService-Info.plist in your project. Please download one from https://console.firebase.google.com/.'
*** First throw call stack:
(
0 CoreFoundation 0x000000010ccad34b __exceptionPreprocess + 171
1 libobjc.A.dylib 0x000000010c70e21e objc_exception_throw + 48
2 CoreFoundation 0x000000010cd16265 +[NSException raise:format:] + 197
3 Runner 0x0000000109bdeb67 +[FIRApp configure] + 353
4 Runner 0x0000000109b79979 -[FirebaseDatabasePlugin init] + 185
5 Runner 0x0000000109b79838 +[FirebaseDatabasePlugin registerWithRegistrar:] + 168
6 Runner 0x0000000109b765e9 +[GeneratedPluginRegistrant registerWithRegistry:] + 121
7 Runner 0x0000000109b76473 -[AppDelegate application:didFinishLaunchingWithOptions:] + 99
8 UIKit 0x000000010d0c70be -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 290
9 UIKit 0x000000010d0c8a43 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 4236
10 UIKit 0x000000010d0cede9 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1731
11 UIKit 0x000000010d0cbf69 -[UIApplication workspaceDidEndTransaction:] + 188
12 FrontBoardServices 0x0000000110fd4723 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 24
13 FrontBoardServices 0x0000000110fd459c -[FBSSerialQueue _performNext] + 189
14 FrontBoardServices 0x0000000110fd4925 -[FBSSerialQueue _performNextFromRunLoopSource] + 45
15 CoreFoundation 0x000000010cc52311 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
16 CoreFoundation 0x000000010cc3759c __CFRunLoopDoSources0 + 556
17 CoreFoundation 0x000000010cc36a86 __CFRunLoopRun + 918
18 CoreFoundation 0x000000010cc36494 CFRunLoopRunSpecific + 420
19 UIKit 0x000000010d0ca7e6 -[UIApplication _run] + 434
20 UIKit 0x000000010d0d0964 UIApplicationMain + 159
21 Runner 0x0000000109b7654f main + 111
22 libdyld.dylib 0x000000010ea9d68d start + 1
23 ??? 0x0000000000000008 0x0 + 8
)
And here is a screenshot of my project tree:
I'm trying this in the GeoFire plugin example folder, which can be found here: https://github.com/bramvbilsen/Flutter-GeoFire/tree/master/example I'd love to hear whether you guys have more luck and a possible solution of course!
Alright, I found the solution!
Apparently Xcode 9 doesn't add the file to your actual project!
This can be fixed be clicking on the GoogleServices-info.plist file
Checking the Runner project in the Target Membership tab
I do my own error handling by catching any exceptions and logging them manually. I use NSSetUncaughtExceptionHandler(&myExceptionHandler); and log the stack trace using [NSException callStackSymbols]. Up until recently my logs contained the symbolicated stack trace. Now they don't and there weren't any code changes related to the logging. This is occurring on all devices and versions of iOS. I am able to manually symbolicate my logs but it is quite cumbersome. Any insight would be greatly appreciated.
Previously my logs looked like:
0 libobjc.A.dylib 0x352925b0 objc_msgSend + 16
1 MYAPP 0x0006573a -[MyViewController(Images) didReceiveImage:context:etag:expires:] + 42
2 MYAPP 0x0004fb26 -[MyImageTask didReceiveImage:] + 98
3 Foundation 0x361ac8e8 __NSThreadPerformPerform
4 CoreFoundation 0x3b37d680 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
5 CoreFoundation 0x3b37cee4 __CFRunLoopDoSources0
6 CoreFoundation 0x3b37bcb2 __CFRunLoopRun
7 CoreFoundation 0x3b2eeeb8 CFRunLoopRunSpecific
8 CoreFoundation 0x3b2eed44 CFRunLoopRunInMode
9 GraphicsServices 0x396bc2e6 GSEventRunModal
10 UIKit 0x3452e2f4 UIApplicationMain
11 MYAPP 0x0004934a main + 70
12 MYAPP 0x000492fc start + 36
After my last release they look like:
0 libobjc.A.dylib 0x352925b0 objc_msgSend + 16
1 MYAPP 0x0006573a - MYAPP + 42
2 MYAPP 0x0004fb26 - MYAPP + 98
3 Foundation 0x361ac8e8 __NSThreadPerformPerform
4 CoreFoundation 0x3b37d680 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
5 CoreFoundation 0x3b37cee4 __CFRunLoopDoSources0
6 CoreFoundation 0x3b37bcb2 __CFRunLoopRun
7 CoreFoundation 0x3b2eeeb8 CFRunLoopRunSpecific
8 CoreFoundation 0x3b2eed44 CFRunLoopRunInMode
9 GraphicsServices 0x396bc2e6 GSEventRunModal
10 UIKit 0x3452e2f4 UIApplicationMain
11 MYAPP 0x0004934a main + 70
12 MYAPP 0x000492fc start + 36
Looks like Apple now performs a kind of repackaging and eventually stripping debug info.
2016-10-28 16:59:42.288 HuaYang[16997:681263] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[HYNewGiftInfoModel id]: unrecognized selector sent to instance 0x6080000f8200'
*** First throw call stack:
(
0 CoreFoundation 0x000000010efa834b __exceptionPreprocess + 171
1 libobjc.A.dylib 0x000000010dfb821e objc_exception_throw + 48
2 CoreFoundation 0x000000010f017f34 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
3 CoreFoundation 0x000000010ef2dc15 ___forwarding___ + 1013
4 CoreFoundation 0x000000010ef2d798 _CF_forwarding_prep_0 + 120
5 HuaYang 0x000000010abdecdb HuaYang + 4332763
6 HuaYang 0x000000010ab7a99e HuaYang + 3922334
7 UIKit 0x0000000111d5edd0 -[UICollectionView _createPreparedCellForItemAtIndexPath:withLayoutAttributes:applyAttributes:isFocused:notify:] + 467
8 UIKit 0x0000000111d5ebf7 -[UICollectionView _createPreparedCellForItemAtIndexPath:withLayoutAttributes:applyAttributes:] + 35
9 UIKit 0x0000000111d640cf -[UICollectionView _updateVisibleCellsNow:] + 4803
10 UIKit 0x0000000111d69d63 -[UICollectionView layoutSubviews] + 313
11 UIKit 0x00000001114e1344 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1237
12 QuartzCore 0x000000011115ccdc -[CALayer layoutSublayers] + 146
13 QuartzCore 0x00000001111507a0 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 366
14 QuartzCore 0x000000011115061e _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24
15 QuartzCore 0x00000001110de62c _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 280
16 QuartzCore 0x000000011110b713 _ZN2CA11Transaction6commitEv + 475
17 UIKit 0x0000000111416067 _UIApplicationFlushRunLoopCATransactionIfTooLate + 206
18 UIKit 0x0000000111c25b30 __handleEventQueue + 5672
19 CoreFoundation 0x000000010ef4d311 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
20 CoreFoundation 0x000000010ef32517 __CFRunLoopDoSources0 + 423
21 CoreFoundation 0x000000010ef31a86 __CFRunLoopRun + 918
22 CoreFoundation 0x000000010ef31494 CFRunLoopRunSpecific + 420
23 GraphicsServices 0x0000000113b50a6f GSEventRunModal + 161
24 UIKit 0x000000011141cf34 UIApplicationMain + 159
25 HuaYang 0x000000010a9514cf HuaYang + 1656015
26 libdyld.dylib 0x0000000112db968d start + 1
5 HuaYang 0x000000010abdecdb HuaYang + 4332763
My own code has no function name, while the system library has.
Is there any xcode build switch I need to turn on to show the symbol while my app crash?
Steps to analyze crash report from apple:
Copy the release .app file which was pushed to the appstore, the .dSYM file that was created at the time of release and the crash report receive from APPLE into a FOLDER.
OPEN terminal application and go to the folder created above (using cd command)
Run atos -arch armv7 -o APPNAME.app/APPNAME MEMORY_LOCATION_OF_CRASH. The memory location should be the one at which the app crashed as per the report.
Ex: atos -arch armv7 -o 'APPNAME.app'/'APPNAME' 0x0003b508
This would show you the exact line, method name which resulted in crash.
Ex: [classname functionName:]; -510
Symbolicating IPA
if we use IPA for symbolicating - just rename the extention .ipa with .zip , extract it then we can get a Payload Folder which contain app. In this case we don't need .dSYM file.
Note
This can only work if the app binary does not have symbols stripped. By default release builds stripped the symbols. We can change it in project build settings "Strip Debug Symbols During Copy" to NO.
More details see this post
You can choose "Exception Breakpoint..." in Breakpoint panel, and then choose "All exceptions".