iOS中意外退出的所有方式是什么

iOS中意外退出的所有方式是什么,ios,crash,Ios,Crash,我的应用程序不允许在后台运行。 我将标志unexpectedExit保存在方法中: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 并在接下来的方法中清除标志unexpectedExit: - (void)applicationWillTerminate:(UIApplication *)application; - (voi

我的应用程序不允许在后台运行。 我将标志
unexpectedExit
保存在方法中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
并在接下来的方法中清除标志
unexpectedExit

- (void)applicationWillTerminate:(UIApplication *)application;
- (void)applicationDidEnterBackground:(UIApplication *)application
丢失清除标志的可能原因是什么

我知道下一步:

  • 一些越狱人员-我检测到越狱设备,并忽略任何来自他们的崩溃
  • 由用户创建的崩溃(使用0x00000000deadfa11代码)-长按锁定按钮直到UI更改+长按主页按钮-直到崩溃。当接近传感器打开时,这种类型的碰撞不可能发生
  • 手动重启设备-长时间同时按下lock+home按钮。当接近传感器打开时,这也是不可能的
  • 电池放电。我看到当电池电量为0时,应用程序退出时会直接断电。我跟踪电池充电
  • 可由CrashLytics或PLCrashReporter或类似机构处理的碰撞
  • 坠机事故与交通事故有关。相应的应用程序应该能够处理它

    (无效)申请IDReceiveMemoryWarning:(UIApplication*)申请

  • 崩溃(使用0x8badf00d代码)也未被任何崩溃工具处理(如我所知),我不知道有什么方法可以捕捉到这一点。你知道吗

  • 现实告诉我,我错过了一些东西。可能是什么?
    我上面的建议中有错误吗?

    您是否考虑过附加a和a,并用它来设置您的标志?要求提供在iOS中终止应用程序的所有方法的完整列表似乎是永远无法回答的问题—每个版本都有可能添加新的异常、更改异常代码或以不同方式响应unix信号。你到底想用你的旗帜实现什么

    请参阅一些值得注意的问题列表。感谢@Rob提到这一点-我修正了我的问题,以便更清楚地了解我的应用程序不支持后台,因此链接中的例外情况不适用于我。例外情况是:0xc00010ff-但我希望这种类型的崩溃应该由Crashlytics和PLCrashReporter处理,这就是“冷却”例外(并在链接页面上列出)。这意味着设备过热。它表示:异常代码0xc00010ff表示该应用程序在响应热事件时被操作系统终止。这可能是由于发生此崩溃的特定设备或其运行环境存在问题。有关提高应用程序运行效率的提示,请参阅with Instruments WWDC会话。我的标志允许我知道何时发生意外退出。它让我思考“我能做些什么来防止任何意外的退出”。我开发闹钟。所以,若在应用程序处于活动状态时发生意外退出,那个么只有本地通知才能唤醒客户。所以,当任何意外的退出发生时——应用程序要求用户——将日志发送给开发人员进行分析。因此,当这个问题出现时,每运行10万次应用程序,我就有10封电子邮件。1封电子邮件-警报启用时出现问题,因此我的客户仅被本地通知唤醒(9封与越狱等相关的电子邮件)。关于您提到的处理程序:据我所知,Crashlytics和PLCrashReporter使用了它们。