【问题标题】:Xamarin, MobileCenter and an app doesn't start for no reason (apparently)Xamarin、MobileCenter 和应用程序无缘无故无法启动(显然)
【发布时间】:2026-01-13 16:40:01
【问题描述】:

我写这篇文章是因为我不知道我能做什么。

我正在为我的公司开发一个拥有大量用户的大型 iOS 应用;记录错误和崩溃我正在使用 Microsoft MobileCenter(分析和崩溃版本 0.6),Xamarin.Forms 版本。 2.3.3.168以及Xam.Plugins、SQLite、PCLStorage、SharpZipLib等很多组件。

根据 MobileCenter 请求,应用的最低目标版本为 8。

除了小错误之外,大问题很难解释。我想请教你一个建议。

应用程序运行良好。如果我测试它,我不会有任何问题。同时,该应用程序因任何明显原因而崩溃。 MobileCenter 中没有日志、没有崩溃、没有任何内容。从这一刻起,无法启动应用程序,我也没有任何关于它的日志:我可以看到启动画面,但之后应用程序再次崩溃。用相机拍照后似乎出现了问题。

当应用程序启动时,它会删除图像(如果文件夹中有任何图像),将文件发送到我的服务器,并使用 CrossDeviceInfo 检查操作系统版本。然后调用第一页。

在将我的设备连接到我的 iMac 后,我试图了解在 Xcode 中读取日志的问题,但它无法理解。

如果我尝试阅读查看设备日志,我会发现我的应用程序崩溃了一次,但我仍然无法理解日志。

然后我尝试从 Xcode 打开 Organizer 并在 Crashes...

如果我将存在此问题的设备连接到我的 iMac 并在其上部署应用程序,则该应用程序运行正常。我如何理解问题出在哪里来解决?

更新

在我的App.xaml.cs 中,我初始化MobileCenter,如下代码:

public partial class App : Application
{
    public App() {
        // my code
    }

    protected override void OnStart()
    {
        MobileCenter.LogLevel = LogLevel.Verbose;
        MobileCenter.Start(typeof(Analytics), typeof(Crashes));
    }
}

【问题讨论】:

  • 您之前是否检查过 Mobile Center 集成是否适用于其他崩溃?你可以在Configure 调用之前设置MobileCenter.LogLevel = LogLevel.Verbose 吗?没有 MobileCenter 是否会发生崩溃?
  • 该应用程序通常可以运行,这就是问题所在。如果它根本没有启动,我必须正确检查AppAppDelegate。但在这种情况下,当应用程序因任何原因崩溃时,它就不再工作了。
  • 嗨,我明白了,但这不是我的意思。您在第一次崩溃之前有设备日志,但问题可能是这些日志信息不够丰富,因为默认情况下 SDK 不会记录太多,因此需要在之前将日志级别提高到详细。我的另一个问题仍然存在:如果 MobileCenter SDK 被完全删除,你有问题吗? (看看崩溃本身是否是由它引起的)。我的第一个问题也是:您是否检查过 SDK 集成是否正常工作,您是否尝试报告此应用的另一种类型的崩溃?
  • 我注意到当用户旋转 iPad 时,我的应用程序有时会崩溃,但在这种情况下,应用程序会毫无问题地重新启动。
  • 您是否看到 Mobile Center 中旋转用例的崩溃?您是否验证了 SDK 与任何其他崩溃的集成?您是否尝试过启用详细日志,然后才尝试重现您的相机崩溃以查看这次是否可以收集更多设备日志?

标签: xamarin.forms mobile-center visual-studio-app-center


【解决方案1】:

是本杰明。我已经在对讲机中回复了您的问题,但我想在这里回复您的问题。

这种情况不是真正的崩溃,而是操作系统杀死了应用程序进程。 SDK 作为应用程序进程的一部分运行,因此无法确定甚至发生了这种终止,因为该进程立即被完全删除。从技术上讲,从 SDK 的角度来看,这不是崩溃,它可以检测并提供详细信息。每个单独的 3rd 方 SDK 都有这个限制,并且没有办法绕过它,因为 Apple 没有提供这样做的技术可能性。

此外,您提供的崩溃报告均未包含对 Mobile Center 的任何引用,因此我可以排除我们的 SDK 是导致崩溃的原因。

我希望你找到问题的原因。?

【讨论】: