0

Question #1:

I am using Crashlytics for one of my commercial iOS Apps. Their service seems very helpful. I wonder if there is any Legal issue of using their services for commercial apps? Is there any limitations for using Crashlytics?

Question #2:

I need to upload .dsym file in their server to get crashlogs symbolicated. Is there any privacy issue. Is it possible to get my code (or any info) back by reverse engineering when they have .dsym file.

Question #3

Sometime some crashes are not showing in the crashlytics dashboard. Is it necessary to be online when crash happens to get crashlog in dashboard? Don't Crashlytics keep logs trace when offline and send logs back to the server when device become online? Any idea how they work?

Community
  • 1
  • 1
Sazzad Hissain Khan
  • 37,929
  • 33
  • 189
  • 256

1 Answers1

2

Mike from Fabric here, but I'm not a lawyer.

1) Fabric and Crashlytics is used in many commercial apps, including our own. There aren't limitations to using Fabric. You can find the Fabric terms of service here.

2) The dSYM is what let's us or any other crash reporter symbolicate the crash report as it contains the symbols that map back to your app's source. None of your source code is uploaded. From Apple's own documentation:

As the compiler translates your source code into machine code, it also generates debug symbols which map each machine instruction in the compiled binary back to the line of source code from which it originated. Depending on the Debug Information Format (DEBUG_INFORMATION_FORMAT) build setting, these debug symbols are stored inside the binary or in a companion Debug Symbol (dSYM) file.

The Debug Symbol file and application binary are tied together on a per-build-basis by the build UUID. A new UUID is generated for each build of your application and uniquely identifies that build. Even if a functionally-identical executable is rebuilt from the same source code, with the same compiler settings, it will have a different build UUID.

3) Crashes are caught regardless if the app is connected to a network or not. However, crashes are only sent on relaunch of the app and would then be processed.

One thing to note is that if you're testing in the Simulator or with your device connected to Xcode will cause Xcode's debugger to capture the crash instead of us.

Further, if the dSYM hasn't been uploaded, then we're unable to process the crash report and we'll alert you in the Crashlytics dashboard of the missing dSYMs so that you can upload them.

Mike Bonnell
  • 16,181
  • 3
  • 61
  • 77
  • Hello Mike, recently I am facing an issue, when crashes come to Fabric dashboard, it shows missing dsym, then I upload the dsym file and the missing dsym warning disappears from Fabric dashboard but there is no crash showing in dashboard. When I select build version filter option it shows the proper build though. I waited 24+ hours but no luck. Do you know why it happens. I rechecked the UUID is same. – Sazzad Hissain Khan Dec 15 '17 at 05:28
  • I also followed the steps posted here, https://stackoverflow.com/a/40037060/1084174 – Sazzad Hissain Khan Dec 15 '17 at 05:35
  • If you're encountering a different issue, I'd recommend posting a new question per Stack Overflow's recommendations. – Mike Bonnell Dec 15 '17 at 15:25