We have logging in place for any .Net Framework exceptions that occur in our iPad MonoTouch application and can get these back to our support department to help analyze and resolve issues.
However, if the application crashes due to an iOS error (i.e. sigsev), we are unsure how to capture that information or tell our very unsophisticated users how to obtain and provide it to us.
Can anyone offer any guidance on this?
Crashes will often (but not always, e.g. out-of-memory) create crash logs on the device. iTunes will download them to the user's computers.
Are you releasing your application thru the appstore ? If so you should be able to get the crash logs from it (iTunes will upload them).
If not then the following documents (and sections) can be useful to know about them (and to create a procedure for end-users to send the crash reports to you).
Xamarin is working on getting the Testflight SDK to fully work with MonoTouch (i.e. the service itself (distribution already works and is integrated in the latest MonoDevelop releases). That will give you another option (for crash reporting) in the future.
We're using these bindings for HockeyApp iOS SDK (I believe they have one for Android too).
They provide a service similar to TestFlight. Automatic crash symbolication is very nice.
We also employ this fix because it's essential to crash reporters working in MonoTouch.
Be warned that TestFlight and HockeyApp will currently crash your app if you don't use this fix.
The official (I assume given it's a branch of the mono git hub repository) monotouch-bindings project over on github now has support for the TestFlight SDK, check out:
https://github.com/mono/monotouch-bindings/tree/master/TestFlight
and
https://github.com/mono/monotouch-bindings
Excerpt from their readme:
TestFlight
This is a MonoTouch binding for the TestFlight SDK which can be found at
https://testflightapp.com/sdk/
The current version of this binding is for TestFlight SDK 1.2.1
v 1.2.1 released on 26 dec 2012
Bindings updated on 17 mrt 2013
Building
Run make
in the binding directory to build TestFlight.dll
Using TestFlight.dll with your own iOS App
Simply add TestFlight.dll to your project's References in MonoDevelop and you
are good to go!
To use the thread safe TakeOff methode. Change TestFlight.TakeOff(token) to TestFlight.TakeOffThreadSafe(token)