views:

75

answers:

2

If been looking around the web and can't seem to find any good solutions to sending allowing your user to submit bug reports from your iPhone app.

How do you handle crashes and exceptions?

  • Do you send the error user-data to a server,
  • grab a log file from somewhere and attach,
  • or do you ignore it and pretend it never happened?

Anybody got any experience with this?

Update

I am aware of how to prepare you software testing it with Static Analysis, Leak Detection, User Testing etc.

But errors might still happen when a user (mis)using my software. Always assume your user is trying to break your software.

What I want to figure out is how (I, or rather the app) can provide me with useful data when/if errors happen. As they do even in top quality products – like my own ofc. :)

I'm looking anyone that has experience with allowing the use to send error reports, stack traces, logs etc. to see how they handle the problem.

+2  A: 

Some people use built-in analytics like Flurry which will post exception data to Flurry's website which you can review later.

Also, Apple has a "crash log" reporting area on iTunes Connect, but I'm not sure if it works since I've yet to see something come through and I kinda doubt each and every person has run my apps flawlessly. Not saying I write poor code (hopefully), but not every device is created equal either so I have to imagine it has crashed at least ONCE. There's always the option of logging and sending to a server later though.

Most of the time though, if you give users your e-mail address within the app itself (like on an instructions or about screen), they will e-mail me about any issues. That's a little bit nicer since it gives you a chance to correct the issue before they hit the review forms on iTunes.

iWasRobbed
I've found the crash logs in iTunes Connect to be very helpful. You'll probably need a minimum number of user-submitted crash logs before they show up in iTunes Connect. But I've found customer emails much more helpful because they describe what they were doing and can catch things that don't crash the app but are definitely bugs.
lucius
A: 

Crashes most of the time comes with problems of memory management. To test memory leaks and find in your code on to what areas you were leaking a memory. Use the Instruments if your using XCode.

In your XCode go to Run -> Run with performance tool -> Leaks.

You can check everything here when it comes to memory allocations.

Note: To avoid crashes, make sure you released objects correctly and check your scheduled timers as well.

Regards, ZaldzBugz

ZaldzBugz
It didn't mean to ask how to avoid them. I meant, how do people handle it *if* it happens.
Thomas Børlum
Okay. Then, there's no way people could handle it coz its already there, you need to fix it. As i mentioned above, you can use instruments to trace crashes or memory leaks which cause these crashes.
ZaldzBugz