Crashlytics does not show crashes

后端 未结 5 1520
有刺的猬
有刺的猬 2020-12-10 01:28

I have just installed Crashlitycs using this official instruction.

I have set Debug Information Format is “DWARF with dSYM File” for both Debug and Release and disab

相关标签:
5条回答
  • 2020-12-10 01:52

    Another potential cause of crashes not uploading is implementing the Crashlytics delegate without calling the completion handler:

    // MARK: CrashlyitcsDelegate
    func crashlyticsDidDetectReport(forLastExecution report: CLSReport, completionHandler: @escaping (Bool) -> Void) {
        // Last launch we crashed!
        }
    }
    

    Instead, it should look like this:

    // MARK: CrashlyitcsDelegate
    func crashlyticsDidDetectReport(forLastExecution report: CLSReport, completionHandler: @escaping (Bool) -> Void) {
        // Last launch we crashed!
             completionHandler(true)
        }
    }
    
    0 讨论(0)
  • 2020-12-10 01:53

    Double-check in your Build Settings that your Debug Information Format is “DWARF with dSYM File” for both Debug and Release

    0 讨论(0)
  • 2020-12-10 02:03

    You need to run the app but not from Xcode.

    If you are using a device, just launch the app without usb connected. If you are using simulator, stop the running of the app from Xcode. Then open it again via mouse click instead.

    Next, navigate to the buttonPress or function that will call the Crashlytics.sharedInstance().crash().

    Then reopen the app again after crash.(This could be connected to console if you want) This step is important because crashlytics save the crash report just before the app is terminated. The next time you open the app, it will then post the report up to crashlytics.

    The docs here actually explain the troubleshooting issue as well.

    0 讨论(0)
  • 2020-12-10 02:04

    Checked the following terms,

    1. Make sure Crashlytics SDK line is after all other 3rd-party SDK lines. (it needs to be last one called in your appDidFinishLaunching method.)

    2. Force a crash and then relaunch the app. Xcode must be disconnected to stop it from intercepting the crash report. To disconnect Xcode, follow the instructions here.

    3. If you're using [Crashlytics sharedInstance] crash]; to test crashing, make sure it's not in the appDidFinishLaunching method.

    These are already mentioned in support section, Here is additional ones -

    1. Check in organization -> Your App -> Missing dSYM, Is it showing any missing dSYM file

    if yes, Then do the following step

    1. Right Click on your archive -> Show in Finder -> Right click on file and click on Show package contents
    2. Right click on dSYM file - > Show package contents -> Contents -> Resources -> DWARF (Open in terminal)
    3. Run command dwarfdump --uuid "file name you saw there in dwarf folder"

    This will show all the associated UUID, And if any listed UUID matched with the one mentioned in missing dSYM id then just compress the dSYM folder and upload it on crashlytics Missing dSYM segment.

    This step is important cause sometimes the dSYM file we extract from organizer doesn't contain correct UUID. And after uploading the wrong one we wait for its updations. So it's better to make sure you are uploading the right dSYM file.

    Other than aforementioned things, Bitcode property and Debug Information Format in Build Settings also affect the crash reporting.

    0 讨论(0)
  • 2020-12-10 02:05

    Still relevant in 2019.

    Just like Zac Kwan said, you have to do this without your app instance attached to Xcode.

    If you're following these docs, they make you understand it as, you add the needed information, then to test, press the crash button, then relaunch, all via Xcode.

    Do the following:

    1. Add the needed Crashlytics information to your project. Run it in Xcode once. Then go ahead and manually go to your simulator, open your app, force the crash.
    2. You should get an email about a "Fatal Error".
    3. About 5-10 minutes later, it will show in your Firebase console.
    0 讨论(0)
提交回复
热议问题