【发布时间】:2018-03-26 10:03:22
【问题描述】:
在我的 Xamarin iOS 应用中,我启用了 AppCenter 的分析和崩溃,这里的解释如下:https://docs.microsoft.com/en-us/appcenter/sdk/getting-started/xamarin
分析工作,但我无法在 App Center Web 控制台的诊断部分看到任何崩溃/错误。 在故障排除页面中写道,在 iOS 上只能是一个用于异常处理的工具,而这是唯一的一个。在我的应用中,我启用了 FCM,因此有 Firebase,我尝试删除对 Firebase 的任何引用,但没有任何变化。
启用AppCenter.LogLevel = LogLevel.Verbose; 我可以看到,当应用程序崩溃时,AppCenter 会尝试存储异常(“将日志存储到崩溃”),但是在我看到“找到一个空的缓冲区位置”之后。在重新启动时,我看到调用了 SendingErrorReport 回调,但忽略了 SentErrorReport 和 FailedToSendErrorReport。
在 AppCenter.Start 之后,我尝试调用 await Crashes.SetEnabledAsync(true)。如果我让它崩溃,当我重新打开应用程序时,我调用 ErrorReport crashReport = await Crashes.GetLastSessionCrashReportAsync() 崩溃报告始终为空。
在符号部分,我可以读到“你太棒了!没有未符号化的崩溃”。我试图在 Debug 和 Release 中编译。我尝试启动一个新异常并使用Crashes.GenerateTestCrash。
在 Xamarin.Forms 应用中使用 Analytics 和 Crash 没有任何问题。
【问题讨论】:
-
对于 iOS - "应用程序崩溃后需要重启,App Center Crashes 只会在重启后才会转发崩溃日志。另外,在 Xamarin.iOS 上,SDK 不会保存任何如果您附加了调试器,则崩溃日志。请确保当您使 iOS 应用程序崩溃时未附加调试器”。如果您仍然没有看到崩溃报告,请点击应用中心门户右下角的蓝色图标并打开支持工单,以便我们更好地为您提供帮助。请在应用崩溃之前和之后分享您的应用的详细日志。谢谢!
-
您好,如果发送事件被触发但未发送或发送失败,那么它可能正在与网络调用作斗争。详细日志包含有关进行的 HTTP 调用的所有详细信息(url、标头、json 和状态代码以及重试)。如果您在理解日志方面需要帮助,您可以使用 appcenter 门户的任何页面上的蓝色聊天按钮在支持人员中分享它们。
-
我在设备和模拟器上都进行了测试,在发布时编译,让应用程序崩溃然后重新启动。希望这不是一个错误,而只是对我写问题的工具的滥用,然后我将链接发送给支持团队,支持团队立即回答。在这两种情况下,如果我们解决了该解决方案可能对社区有用。
-
嗨@MauroPiccotti。我认为您需要处于调试模式:docs.microsoft.com/en-us/appcenter/sdk/crashes/xamarin“此 API 检查调试与发布配置。因此您只能在调试时使用它,因为它不适用于发布应用程序。”
-
@Chucky 谢谢你,但我放弃了 AppCenter 的崩溃,但我很确定我在调试和发布中都试过了。还是谢谢你。
标签: xamarin xamarin.ios crash-reports visual-studio-app-center