如何在MonoTouch应用程序中捕获iOS崩溃

我们已经logging了在我们的iPad MonoTouch应用程序中发生的任何.Net Frameworkexception,并可以将这些exception返回给我们的支持部门来帮助分析和解决问题。

但是,如果应用程序由于iOS错误(即sigsev)而崩溃,我们不确定如何捕获这些信息,或告诉我们非常不成熟的用户如何获取并提供给我们。

任何人都可以提供任何指导呢?

崩溃将经常(但不总是,例如,内存不足)在设备上创build崩溃日志。 iTunes会将它们下载到用户的电脑上。

你通过appstore发布你的应用程序吗? 如果是这样,你应该能够从中获取崩溃日志 (iTunes会上传它们)。

如果没有,那么下面的文档(和章节)可以帮助你了解它们(并为最终用户创build一个向你发送崩溃报告的过程)。

  • 获取崩溃报告

  • 将崩溃报告发送给开发人员

Xamarin正在努力让Testflight SDK能够与MonoTouch(即服务本身(分发已经工作并且被集成到最新的MonoDevelop版本)中)充分合作,这将为您提供另一个选项(用于崩溃报告)。

我们使用HockeyApp iOS SDK的这些绑定 (我相信他们也有一个适用于Android的绑定 )。
他们提供与TestFlight类似的服务。 自动崩溃的象征是非常好的。

我们也使用这个修补程序,因为这对于在MonoTouch中工作的记者是非常重要的。
要警告的是,如果您不使用此修复程序,TestFlight和HockeyApp 将会崩溃您的应用程序。

官方(我假设它是mono git hub存储库的一个分支)在github上的monotouch-bindings项目已经支持TestFlight SDK,请检​​查:

https://github.com/mono/monotouch-bindings/tree/master/TestFlight

https://github.com/mono/monotouch-bindings

摘自自述文件:

TestFlight

这是TestFlight SDK的MonoTouch绑定,可以在这里find

https://testflightapp.com/sdk/ 

此绑定的当前版本用于2012年12月26日发布的TestFlight SDK 1.2.1 v 1.2.1绑定2013年12月17日更新

build造

在绑定目录中运行make来构buildTestFlight.dll

与您自己的iOS应用程序一起使用TestFlight.dll

只需将TestFlight.dll添加到MonoDevelop中的项目引用中即可。

使用线程安全的TakeOff方法。 将TestFlight.TakeOff(令牌)更改为TestFlight.TakeOffThreadSafe(令牌)