ios - iOS意外退出的方式有哪些

标签 ios crash

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

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

并在接下来的方法中清除标志unexpectedExit:

- (void)applicationWillTerminate:(UIApplication *)application;
- (void)applicationDidEnterBackground:(UIApplication *)application

缺少清除标志的可能原因是什么?

我知道下一步:

  1. 一些越狱员工 - 我检测到越狱设备并忽略他们造成的任何崩溃
  2. 用户创建的崩溃(代码为 0x00000000deadfa11) - 长按锁定按钮直到 UI 更改 + 长按主页按钮 - 直到崩溃。当接近传感器打开时,这种类型的崩溃是不可能的。
  3. 手动重启设备 - 同时长按锁定键+主页按钮。当接近传感器打开时,这也是不可能的。
  4. 电池放电。我看到当电池电量为 0 时 - 它会随着应用程序的退出而直接关闭。我跟踪电池电量
  5. 可由 CrashLytics 或 PLCrashReporter 或类似工具处理的崩溃
  6. low 相关的崩溃memory 。根据documentation应用程序应该能够处理它

    (void)applicationDidReceiveMemoryWarning:(UIApplication *)application;

  7. 崩溃 generated by watchdog (使用 0x8badf00d 代码)也没有被任何崩溃工具处理(据我所知),而且我不知道有什么方法可以捕获它。你知道吗?

现实告诉我,我错过了一些东西。它可以是什么? 我上面的建议有没有错误?

最佳答案

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

关于ios - iOS意外退出的方式有哪些,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19063598/

相关文章:

ios - 如何将文本字段添加到警报 View ? Xcode 4.5 iOS6

ios - 没有测试的 Xcode 中的代码覆盖率(用于手动运行)

ios - 是否可以从 xib 文件中为 UI 控件(例如 UIButton)设置 UIAccessibilityFrame

iphone - 构建适用于iOS 7,但在iOS 6中崩溃

path - 软件崩溃;设置路径时出错 : "rfPersonal"

ios - 信息很少的怪异iOS崩溃,是网络问题还是iOS问题?

iOS - NSDate 不正确地添加/减去时区差异

ios - 将应用程序升级到 iOS 7 - 错误 "Auto Layout on iOS Versions prior to 6.0"(但不希望 iOS 7 更旧)

iphone - 应用程式当机-无法找出原因

swift - 使用 Crashlytics 错误日志修复我的崩溃