{"id":2346,"date":"2017-01-11T13:10:00","date_gmt":"2017-01-11T07:40:00","guid":{"rendered":"https:\/\/www.innovationm.com\/blog\/?p=2346"},"modified":"2023-01-20T18:55:57","modified_gmt":"2023-01-20T13:25:57","slug":"step-by-step-guide-on-firebase-crash-reporting","status":"publish","type":"post","link":"https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/","title":{"rendered":"Step-by-Step Guide on Firebase Crash Reporting"},"content":{"rendered":"<p><b>Objective<\/b><br \/>\n<span style=\"font-weight: 400;\">To get \u00a0complete<\/span><i><span style=\"font-weight: 400;\"> crash-report<\/span><\/i><span style=\"font-weight: 400;\"> whenever your app crashes. In Simple words, Firebase Crash Reporting will let you know the reason of crash \u00a0along with line number in your view controller or any class. <\/span><\/p>\n<p><a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Firebase.png\"><img decoding=\"async\" class=\"alignleft wp-image-2347 size-thumbnail\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Firebase-150x150.png\" alt=\"firebase\" width=\"150\" height=\"150\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><b>Prerequisite<\/b><br \/>\n<span style=\"font-weight: 400;\">I\u2019m assuming you have a project, where you want to add Firebase Crash Reporting.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">First thing first, You need <\/span><a href=\"https:\/\/cocoapods.org\/\"><span style=\"font-weight: 400;\">Cocoapod<\/span><\/a><span style=\"font-weight: 400;\"> installed on your Mac and a working project (or, any iOS Single View Application).<\/span><\/p>\n<p><b>Step 1. <\/b><span style=\"font-weight: 400;\">Login into your <\/span><a href=\"https:\/\/console.firebase.google.com\/\"><b>Firebase Console<\/b><\/a><\/p>\n<p><a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.46.20-AM.png\"><img decoding=\"async\" class=\"alignleft wp-image-2348 size-medium\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.46.20-AM-300x51.png\" alt=\"screen-shot-2016-12-31-at-2-46-20-am\" width=\"300\" height=\"51\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.46.20-AM-300x51.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.46.20-AM.png 443w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Click on <\/span><i><span style=\"font-weight: 400;\">\u2018Create New Project\u2019<\/span><\/i><span style=\"font-weight: 400;\"> \u00a0and then pass on relevant information about your app (like, Your <\/span><i><span style=\"font-weight: 400;\">App Name<\/span><\/i><span style=\"font-weight: 400;\"> and its <\/span><i><span style=\"font-weight: 400;\">country<\/span><\/i><span style=\"font-weight: 400;\">).<\/span><\/p>\n<p><a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.47.32-AM.png\"><img fetchpriority=\"high\" decoding=\"async\" class=\"alignleft wp-image-2349 size-medium\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.47.32-AM-300x267.png\" alt=\"screen-shot-2016-12-31-at-2-47-32-am\" width=\"300\" height=\"267\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.47.32-AM-300x267.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.47.32-AM.png 460w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><b>Step 2. <\/b><span style=\"font-weight: 400;\">Now, you are on <\/span><b>Firebase Dashboard<\/b><\/p>\n<p><a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.53.06-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2350 size-large\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.53.06-AM-1024x495.png\" alt=\"screen-shot-2016-12-31-at-2-53-06-am\" width=\"625\" height=\"302\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.53.06-AM-1024x495.png 1024w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.53.06-AM-300x145.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.53.06-AM-624x302.png 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.53.06-AM.png 1276w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">As you can see there are several Firebase service, but we are quietly interested in <\/span><b>Firebase Crash Reporting<\/b><\/p>\n<p><a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.55.38-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2351 size-thumbnail\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.55.38-AM-150x38.png\" alt=\"screen-shot-2016-12-31-at-2-55-38-am\" width=\"150\" height=\"38\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Next, they will ask you to choose your platform (<\/span><b>Obviously, it\u2019s iOS<\/b><span style=\"font-weight: 400;\">)<\/span><\/p>\n<p><a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.57.24-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2352 size-medium\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.57.24-AM-300x134.png\" alt=\"screen-shot-2016-12-31-at-2-57-24-am\" width=\"300\" height=\"134\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.57.24-AM-300x134.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.57.24-AM-624x278.png 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-2.57.24-AM.png 641w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">When you get into it, there is form like window pops up.<\/span><\/p>\n<p><a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.02.58-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2377\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.02.58-AM.png\" alt=\"screen-shot-2016-12-31-at-3-02-58-am\" width=\"500\" height=\"377\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.02.58-AM.png 697w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.02.58-AM-300x226.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.02.58-AM-624x470.png 624w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Where, you have to pass on <\/span><b>bundle id <\/b><span style=\"font-weight: 400;\">of your app. Rest two are optional which you can ignore. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">So, From I can get my Bundle Id ?<\/span><br \/>\n<span style=\"font-weight: 400;\">Answer is, You have to move on to you app and select your <\/span><b>Project &gt; General <\/b><span style=\"font-weight: 400;\">and there you go <\/span><b>Bundle Identifier <\/b><span style=\"font-weight: 400;\">under Identity section.<\/span><\/p>\n<p><a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.02.37-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-2354\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.02.37-AM.png\" alt=\"screen-shot-2016-12-31-at-3-02-37-am\" width=\"937\" height=\"244\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.02.37-AM.png 937w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.02.37-AM-300x78.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.02.37-AM-624x162.png 624w\" sizes=\"(max-width: 937px) 100vw, 937px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Say, I have <\/span><b><i>com.innovationm.FirebaseCrashReportingDemo <\/i><\/b><b>\u00a0<\/b><span style=\"font-weight: 400;\">and it could be different (as, its Projects Dependent).<\/span><\/p>\n<p><b>Step 3.<\/b><br \/>\n<span style=\"font-weight: 400;\">Now, you have to add <\/span><b>Google Services Info.plist<\/b><span style=\"font-weight: 400;\"> file which has all the credentials and private identifiers which Firebase will use for internal purpose (Doesn\u2019t make sense, still you have to add as Google Developer is asking you to do that \ud83d\ude00 ).<\/span><\/p>\n<p><a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.08.36-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2355\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.08.36-AM.png\" alt=\"screen-shot-2016-12-31-at-3-08-36-am\" width=\"500\" height=\"391\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.08.36-AM.png 695w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.08.36-AM-300x234.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.08.36-AM-624x488.png 624w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">So, drap and drop the <\/span><b>GoogleService-Info.plist<\/b><span style=\"font-weight: 400;\"> in your xcode.<\/span><\/p>\n<p><b>Suggestion : <\/b><span style=\"font-weight: 400;\">If your file name starts with <\/span><b>\u00a0GoogleService-Info(1).plist \u00a0<\/b><span style=\"font-weight: 400;\">then, you should omit <\/span><b>(1) <\/b><span style=\"font-weight: 400;\">from the file name. As, Firebase expects only <\/span><b>GoogleService-Info.plist <\/b><span style=\"font-weight: 400;\">as its configuration file name. Else, it will cause confusion and pops you runtime error.<\/span><\/p>\n<p><b>Step 4.<\/b><br \/>\n<span style=\"font-weight: 400;\">Now, they will ask you to install pod of Firebase Core (further, Firebase Crash). As, these are the dependencies which we need in this project.<\/span><br \/>\n<span style=\"font-weight: 400;\">In simple words, we are going to use <\/span><b>Firebase <\/b><span style=\"font-weight: 400;\">so we need to integrate firebase framework (or, library) in your project. <\/span><br \/>\n<span style=\"font-weight: 400;\">So, Cocoapod will do it for us. <\/span><\/p>\n<p><a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.42.20-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2356\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.42.20-AM.png\" alt=\"screen-shot-2016-12-31-at-3-42-20-am\" width=\"500\" height=\"439\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.42.20-AM.png 696w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.42.20-AM-300x263.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.42.20-AM-624x548.png 624w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Open <\/span><b>Terminal <\/b><span style=\"font-weight: 400;\">(<\/span><i><span style=\"font-weight: 400;\">CMD<\/span><\/i><span style=\"font-weight: 400;\">+<\/span><i><span style=\"font-weight: 400;\">Space<\/span><\/i><span style=\"font-weight: 400;\"> and type <\/span><i><span style=\"font-weight: 400;\">Terminal<\/span><\/i><span style=\"font-weight: 400;\">) \u00a0and type <\/span><b>cd [Path_Of_Your_Project] <\/b><span style=\"font-weight: 400;\">and <\/span><i><span style=\"font-weight: 400;\">return<\/span><\/i><span style=\"font-weight: 400;\"> key.<\/span><br \/>\n<span style=\"font-weight: 400;\">There is a shortcut to get the path of project directory.<\/span><\/p>\n<p><b>Tips : <\/b><span style=\"font-weight: 400;\">Select your <\/span><i><span style=\"font-weight: 400;\">Project Directory <\/span><\/i><span style=\"font-weight: 400;\">in Finder and drag-drop to Terminal itself. It will give you the path of dropped directory.<\/span><\/p>\n<p><b>Step 4.1 :<\/b><br \/>\n<span style=\"font-weight: 400;\">cd <\/span><b>[PATH_NAME]<\/b><br \/>\n<a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.04.22-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2357\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.04.22-AM.png\" alt=\"screen-shot-2016-12-31-at-4-04-22-am\" width=\"500\" height=\"355\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.04.22-AM.png 734w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.04.22-AM-300x213.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.04.22-AM-624x443.png 624w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><b>Step 4.2 :<\/b><br \/>\n<span style=\"font-weight: 400;\">Type <\/span><b>Pod init<\/b><span style=\"font-weight: 400;\"> and return key.<\/span><br \/>\n<a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.05.25-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2358\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.05.25-AM.png\" alt=\"screen-shot-2016-12-31-at-4-05-25-am\" width=\"500\" height=\"360\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.05.25-AM.png 762w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.05.25-AM-300x216.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.05.25-AM-624x450.png 624w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><b>Step 4.3 :<\/b><br \/>\n<span style=\"font-weight: 400;\">That makes a <\/span><b>Podfile <\/b><span style=\"font-weight: 400;\">in root directory of your project.<\/span><br \/>\n<a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.05.58-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2359 size-medium\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.05.58-AM-300x257.png\" alt=\"screen-shot-2016-12-31-at-4-05-58-am\" width=\"300\" height=\"257\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.05.58-AM-300x257.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.05.58-AM.png 415w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><b>Step 4.4 : <\/b><span style=\"font-weight: 400;\">And, Open it in any <\/span><b>Text Editor <\/b><span style=\"font-weight: 400;\">(as, I\u2019m addict of <\/span><i><span style=\"font-weight: 400;\">Sublime<\/span><\/i><span style=\"font-weight: 400;\"> so, I\u2019ll use it). And, paste the <\/span><b>pod file name <\/b><span style=\"font-weight: 400;\">and save the file.<\/span><br \/>\n<a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.06.58-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2360\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.06.58-AM.png\" alt=\"screen-shot-2016-12-31-at-4-06-58-am\" width=\"500\" height=\"291\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.06.58-AM.png 860w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.06.58-AM-300x174.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.06.58-AM-624x363.png 624w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><b>Alert : <\/b><span style=\"font-weight: 400;\">Make sure, you add these two lines in between Line 6 and 12 (as per image).<\/span><\/p>\n<p><b>Step 4.5 : <\/b><br \/>\n<span style=\"font-weight: 400;\">Type <\/span><b>pod install <\/b><span style=\"font-weight: 400;\">and install the dependencies which you have mention. <\/span><br \/>\n<a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.36.39-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2361\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.36.39-AM.png\" alt=\"screen-shot-2016-12-31-at-4-36-39-am\" width=\"500\" height=\"360\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.36.39-AM.png 762w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.36.39-AM-300x216.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.36.39-AM-624x450.png 624w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><b>Step 4.6 : <\/b><br \/>\n<span style=\"font-weight: 400;\">Close terminal and open your <\/span><b>.workspace <\/b><span style=\"font-weight: 400;\">in your project directory.<\/span><br \/>\n<a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.21.10-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2362 size-medium\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.21.10-AM-300x252.png\" alt=\"screen-shot-2016-12-31-at-4-21-10-am\" width=\"300\" height=\"252\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.21.10-AM-300x252.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.21.10-AM.png 412w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><b>Alert : <\/b><span style=\"font-weight: 400;\">If you open <\/span><b>.xcodeproj<\/b><span style=\"font-weight: 400;\"> file then you won&#8217;t get pod dependencies in your project. And, it will throw error that dependencies files are not found. <\/span><\/p>\n<p><b>Step 5.<\/b><br \/>\n<span style=\"font-weight: 400;\">Ultimately, we have a project which has Firebase Crash Reporting .<\/span><br \/>\n<span style=\"font-weight: 400;\">Now, configure Firebase in <\/span><b>AppDelgate.swift<\/b><br \/>\n<a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.45.09-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2363\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.45.09-AM.png\" alt=\"screen-shot-2016-12-31-at-3-45-09-am\" width=\"500\" height=\"438\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.45.09-AM.png 696w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.45.09-AM-300x263.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-3.45.09-AM-624x547.png 624w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">So, <\/span><b>AppDelegate.swift<\/b><span style=\"font-weight: 400;\"> is like<\/span><br \/>\n<a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.37.28-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2364\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.37.28-AM.png\" alt=\"screen-shot-2016-12-31-at-4-37-28-am\" width=\"500\" height=\"112\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.37.28-AM.png 707w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.37.28-AM-300x67.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.37.28-AM-624x139.png 624w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><b>Step 6.<\/b><br \/>\n<span style=\"font-weight: 400;\">Next part is bit tricky, as we have to write a piece of script in <\/span><b>Build Phase<\/b><span style=\"font-weight: 400;\">.<\/span><br \/>\n<span style=\"font-weight: 400;\">First, go to your <\/span><b>Project Screen<\/b><span style=\"font-weight: 400;\">.<\/span><br \/>\n<a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.40.25-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2365 size-large\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.40.25-AM-1024x619.png\" alt=\"screen-shot-2016-12-31-at-4-40-25-am\" width=\"625\" height=\"378\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.40.25-AM-1024x619.png 1024w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.40.25-AM-300x181.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.40.25-AM-624x377.png 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.40.25-AM.png 1392w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/a><span style=\"font-weight: 400;\">And, choose <\/span><b>Build Phase <\/b><span style=\"font-weight: 400;\">and click on + Button (just below <\/span><i><span style=\"font-weight: 400;\">Capability<\/span><\/i><span style=\"font-weight: 400;\">)<\/span><\/p>\n<p><a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.40.42-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2366 size-large\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.40.42-AM-1024x619.png\" alt=\"screen-shot-2016-12-31-at-4-40-42-am\" width=\"625\" height=\"378\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.40.42-AM-1024x619.png 1024w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.40.42-AM-300x181.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.40.42-AM-624x377.png 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.40.42-AM.png 1392w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/a><br \/>\n<span style=\"font-weight: 400;\">There you have options to choose. <\/span><br \/>\n<a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.42.54-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2367\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.42.54-AM.png\" alt=\"screen-shot-2016-12-31-at-4-42-54-am\" width=\"200\" height=\"120\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Next, we have a blank script screen with some <\/span><i><span style=\"font-weight: 400;\">default <\/span><\/i><span style=\"font-weight: 400;\">text.<\/span><br \/>\n<a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.43.06-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2368 size-large\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.43.06-AM-1024x619.png\" alt=\"screen-shot-2016-12-31-at-4-43-06-am\" width=\"625\" height=\"378\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.43.06-AM-1024x619.png 1024w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.43.06-AM-300x181.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.43.06-AM-624x377.png 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.43.06-AM.png 1392w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/a>So, we have to add these lines in script box.<\/p>\n<pre class=\"striped:false nums:false lang:default decode:true \"># Replace this with the GOOGLE_APP_ID from your GoogleService-Info.plist file\r\nGOOGLE_APP_ID=1:my:app:id\r\n\r\n# Replace the \/Path\/To\/ServiceAccount.json with the path to the key you just downloaded\r\n\"${PODS_ROOT}\"\/FirebaseCrash\/upload-sym \"\/Path\/To\/ServiceAccount.json\"<\/pre>\n<p><span style=\"font-weight: 400;\">Though, we have to replace bold text i.e <\/span><b>GOOGLE_APP_ID<\/b><span style=\"font-weight: 400;\"> and <\/span><b>\/Path\/To\/ServiceAccount.json <\/b><span style=\"font-weight: 400;\">with \u2018projects\u2019 value.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">First, we will get Google App Id from Info.plist which we have downloaded (i.e. <\/span><i><span style=\"font-weight: 400;\">GoogleService-Info.plist<\/span><\/i><span style=\"font-weight: 400;\">).<\/span><br \/>\n<a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.48.45-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2369\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.48.45-AM.png\" alt=\"screen-shot-2016-12-31-at-4-48-45-am\" width=\"500\" height=\"231\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.48.45-AM.png 762w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.48.45-AM-300x139.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.48.45-AM-624x288.png 624w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">And, Next we need<\/span><b> ServiceAccount JSON file<\/b><span style=\"font-weight: 400;\"> which we\u2019ll get it from Firebase Console.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Click on <\/span><b>Setting <\/b><span style=\"font-weight: 400;\">(Gear Button which is on right side of <\/span><b>OverView<\/b><span style=\"font-weight: 400;\"> Button)<\/span><b> &gt; <\/b><span style=\"font-weight: 400;\">\u00a0<\/span><b>Service Account (<\/b><span style=\"font-weight: 400;\">last Tab<\/span><b>) &gt; Crash Reporting &gt; Generate Private Key <\/b><span style=\"font-weight: 400;\">Button.<\/span><br \/>\n<a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.50.24-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2370 size-large\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.50.24-AM-1024x356.png\" alt=\"screen-shot-2016-12-31-at-4-50-24-am\" width=\"625\" height=\"217\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.50.24-AM-1024x356.png 1024w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.50.24-AM-300x104.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.50.24-AM-624x217.png 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.50.24-AM.png 1279w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/a><span style=\"font-weight: 400;\">Download the file and rename whatever you want. Say, mine is <\/span><b>firebasecrashreport.json .<\/b><\/p>\n<p><span style=\"font-size: 1rem;\">And, paste in root folder of your project. After doing this, drag and drop it to xcode project.<\/span><\/p>\n<p><a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.53.31-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2371\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.53.31-AM.png\" alt=\"screen-shot-2016-12-31-at-4-53-31-am\" width=\"500\" height=\"308\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.53.31-AM.png 620w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-4.53.31-AM-300x185.png 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">So, My Script would be like,<\/span><\/p>\n<pre class=\"striped:false nums:false start-line: lang:default decode:true \"># Replace this with the GOOGLE_APP_ID from your GoogleService-Info.plist file\r\n1:xxxxxxxxx:ios:xxxxxxxxxxx=1:my:app:id\r\n\r\n# Replace the \/Path\/To\/ServiceAccount.json with the path to the key you just downloaded\r\n\"${PODS_ROOT}\"\/FirebaseCrash\/upload-sym \"FirebaseCrashReportingDemo\/firebasecrashreport.json\"\r\n<\/pre>\n<p><b>FirebaseCrashReportingDemo<\/b><span style=\"font-weight: 400;\"> is the name of my project and respective to it <\/span><b>firebasecrashreport.json, <\/b><span style=\"font-weight: 400;\">which makes my absolute path such.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Congratulations, you\u2019re done with <\/span><b>Firebase Crash Reporting<\/b><span style=\"font-weight: 400;\">. <\/span><\/p>\n<p><b>Step 7.<\/b><br \/>\n<span style=\"font-weight: 400;\">Testing and Logging in Firebase Console.<\/span><br \/>\n<b>Step 7.1<\/b><span style=\"font-weight: 400;\"> : Add a line of statement which make a crash.<\/span><\/p>\n<pre class=\"striped:false nums:false lang:default decode:true\">fatalError() will do crash it for you.<\/pre>\n<p><a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-2391\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/1.png\" alt=\"1\" width=\"508\" height=\"276\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/1.png 508w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/1-300x163.png 300w\" sizes=\"(max-width: 508px) 100vw, 508px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><b>Step 7.2 : <\/b><span style=\"font-weight: 400;\">Launch your app and it will crash. <\/span><br \/>\n<b>Step 7.3 :<\/b><span style=\"font-weight: 400;\"> Comment the crash Line. <\/span><br \/>\n<b>Step 7.4 :<\/b><span style=\"font-weight: 400;\"> Launch your App (It will send the log to Firebase Console).<\/span><br \/>\n<span style=\"font-weight: 400;\">After 2-3 Minutes, it will log into Firebase Console.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"> \u00a0Initially, it will be like<\/span><br \/>\n<a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Firebase1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2372\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Firebase1.png\" alt=\"firebase\" width=\"375\" height=\"169\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Firebase1.png 488w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Firebase1-300x135.png 300w\" sizes=\"(max-width: 375px) 100vw, 375px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Click on Error, and it will move you to Crash Reporting Panel.<\/span><br \/>\n<a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.16.14-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2379\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.16.14-AM.png\" alt=\"screen-shot-2016-12-31-at-5-16-14-am\" width=\"600\" height=\"99\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.16.14-AM.png 986w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.16.14-AM-300x50.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.16.14-AM-624x103.png 624w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><span style=\"font-weight: 400;\">It say, we are crashing at <\/span><b>line number 17 <\/b><span style=\"font-weight: 400;\">for ViewController.swift screen.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Is it true ?<\/span><br \/>\n<a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.16.45-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2380\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.16.45-AM.png\" alt=\"screen-shot-2016-12-31-at-5-16-45-am\" width=\"500\" height=\"353\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.16.45-AM.png 720w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.16.45-AM-300x212.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.16.45-AM-624x440.png 624w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Yes, we have a buggy code at line number 17 and that makes sense.<\/span><br \/>\n<a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.16.14-AM1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-2381\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.16.14-AM1.png\" alt=\"screen-shot-2016-12-31-at-5-16-14-am\" width=\"600\" height=\"99\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.16.14-AM1.png 986w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.16.14-AM1-300x50.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.16.14-AM1-624x103.png 624w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><a href=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.32.36-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-2382\" src=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.32.36-AM.png\" alt=\"screen-shot-2016-12-31-at-5-32-36-am\" width=\"1392\" height=\"842\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.32.36-AM.png 1392w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.32.36-AM-300x181.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.32.36-AM-1024x619.png 1024w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Screen-Shot-2016-12-31-at-5.32.36-AM-624x377.png 624w\" sizes=\"(max-width: 1392px) 100vw, 1392px\" \/><\/a><b>Additional Feature<\/b><\/p>\n<p><span style=\"font-weight: 400;\">You can send custom logs to Firebase console using <\/span><b>FIRCrashMessage<\/b><span style=\"font-weight: 400;\">(\u201c<\/span><i><span style=\"font-weight: 400;\">TYPE_YOUR_MESSAGE<\/span><\/i><span style=\"font-weight: 400;\">\u201d) method.<\/span><\/p>\n<p><b>Further Reference<\/b><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/firebase.google.com\/docs\/crash\/ios\"><span style=\"font-weight: 400;\">Firebase Crash Reporting<\/span><\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Objective To get \u00a0complete crash-report whenever your app crashes. In Simple words, Firebase Crash Reporting will let you know the reason of crash \u00a0along with line number in your view controller or any class. &nbsp; &nbsp; &nbsp; &nbsp; Prerequisite I\u2019m assuming you have a project, where you want to add Firebase Crash Reporting. First thing [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2390,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[71],"tags":[182],"class_list":["post-2346","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobile","tag-firebase"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Step-by-Step Guide on Firebase Crash Reporting | InnovationM Blog<\/title>\n<meta name=\"description\" content=\"Firebase Crash Reporting guide for easy implementation.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Step-by-Step Guide on Firebase Crash Reporting | InnovationM Blog\" \/>\n<meta property=\"og:description\" content=\"Firebase Crash Reporting guide for easy implementation.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/\" \/>\n<meta property=\"og:site_name\" content=\"InnovationM - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-11T07:40:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-20T13:25:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Blog-Image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1165\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"InnovationM Admin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"InnovationM Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/step-by-step-guide-on-firebase-crash-reporting\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/step-by-step-guide-on-firebase-crash-reporting\\\/\"},\"author\":{\"name\":\"InnovationM Admin\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"headline\":\"Step-by-Step Guide on Firebase Crash Reporting\",\"datePublished\":\"2017-01-11T07:40:00+00:00\",\"dateModified\":\"2023-01-20T13:25:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/step-by-step-guide-on-firebase-crash-reporting\\\/\"},\"wordCount\":1014,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/step-by-step-guide-on-firebase-crash-reporting\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/01\\\/Blog-Image.png\",\"keywords\":[\"Firebase\"],\"articleSection\":[\"Mobile\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/step-by-step-guide-on-firebase-crash-reporting\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/step-by-step-guide-on-firebase-crash-reporting\\\/\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/step-by-step-guide-on-firebase-crash-reporting\\\/\",\"name\":\"Step-by-Step Guide on Firebase Crash Reporting | InnovationM Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/step-by-step-guide-on-firebase-crash-reporting\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/step-by-step-guide-on-firebase-crash-reporting\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/01\\\/Blog-Image.png\",\"datePublished\":\"2017-01-11T07:40:00+00:00\",\"dateModified\":\"2023-01-20T13:25:57+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"description\":\"Firebase Crash Reporting guide for easy implementation.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/step-by-step-guide-on-firebase-crash-reporting\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/step-by-step-guide-on-firebase-crash-reporting\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/step-by-step-guide-on-firebase-crash-reporting\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/01\\\/Blog-Image.png\",\"contentUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/01\\\/Blog-Image.png\",\"width\":1165,\"height\":512},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/step-by-step-guide-on-firebase-crash-reporting\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Step-by-Step Guide on Firebase Crash Reporting\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\",\"name\":\"InnovationM - Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\",\"name\":\"InnovationM Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"caption\":\"InnovationM Admin\"},\"sameAs\":[\"http:\\\/\\\/www.innovationm.com\\\/\"],\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/author\\\/innovationmadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Step-by-Step Guide on Firebase Crash Reporting | InnovationM Blog","description":"Firebase Crash Reporting guide for easy implementation.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/","og_locale":"en_US","og_type":"article","og_title":"Step-by-Step Guide on Firebase Crash Reporting | InnovationM Blog","og_description":"Firebase Crash Reporting guide for easy implementation.","og_url":"https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/","og_site_name":"InnovationM - Blog","article_published_time":"2017-01-11T07:40:00+00:00","article_modified_time":"2023-01-20T13:25:57+00:00","og_image":[{"width":1165,"height":512,"url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Blog-Image.png","type":"image\/png"}],"author":"InnovationM Admin","twitter_misc":{"Written by":"InnovationM Admin","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/#article","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/"},"author":{"name":"InnovationM Admin","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"headline":"Step-by-Step Guide on Firebase Crash Reporting","datePublished":"2017-01-11T07:40:00+00:00","dateModified":"2023-01-20T13:25:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/"},"wordCount":1014,"commentCount":0,"image":{"@id":"https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Blog-Image.png","keywords":["Firebase"],"articleSection":["Mobile"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/","url":"https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/","name":"Step-by-Step Guide on Firebase Crash Reporting | InnovationM Blog","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/#primaryimage"},"image":{"@id":"https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Blog-Image.png","datePublished":"2017-01-11T07:40:00+00:00","dateModified":"2023-01-20T13:25:57+00:00","author":{"@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"description":"Firebase Crash Reporting guide for easy implementation.","breadcrumb":{"@id":"https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/#primaryimage","url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Blog-Image.png","contentUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2017\/01\/Blog-Image.png","width":1165,"height":512},{"@type":"BreadcrumbList","@id":"https:\/\/www.innovationm.com\/blog\/step-by-step-guide-on-firebase-crash-reporting\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.innovationm.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Step-by-Step Guide on Firebase Crash Reporting"}]},{"@type":"WebSite","@id":"https:\/\/www.innovationm.com\/blog\/#website","url":"https:\/\/www.innovationm.com\/blog\/","name":"InnovationM - Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.innovationm.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed","name":"InnovationM Admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","caption":"InnovationM Admin"},"sameAs":["http:\/\/www.innovationm.com\/"],"url":"https:\/\/www.innovationm.com\/blog\/author\/innovationmadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/2346","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/comments?post=2346"}],"version-history":[{"count":0,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/2346\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media\/2390"}],"wp:attachment":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media?parent=2346"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/categories?post=2346"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/tags?post=2346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}