【问题标题】:iOS 5 - shutdown hookiOS 5 - 关机钩子
【发布时间】:2012-11-15 10:10:04
【问题描述】:

我想在应用关闭时执行某些清理任务。我使用这样的观察者:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWillResignActiveNotif:) name:UIApplicationWillResignActiveNotification object:nil];

当应用程序进入后台时得到通知。

问题是,如果应用程序崩溃,没有通知让我做某事。

我看到 testflight.com 使用挂钩来恢复崩溃信息,我想知道是否也可以检测崩溃并执行一些任务。

我担心的问题是:

CLLocationManager.stopMonitoringSignificantLocationChanges

当应用程序崩溃时未完成,用户顶部会出现一个固定的位置图标。我知道崩溃不应该经常发生,但如果可以的话,我想在这种情况下尽可能多地进行清理。

【问题讨论】:

  • 如果您的应用程序崩溃,操作系统会立即终止它 - 在此之后没有办法您可以做任何事情。解决方案是修复您的应用,使其永远不会崩溃。
  • 您看过这个解决方案了吗? stackoverflow.com/questions/10885313/…

标签: objective-c ios shutdown-hook


【解决方案1】:

你可以安装一个全局异常处理程序甚至一个信号处理程序 http://www.cocoawithlove.com/2010/05/handling-unhandled-exceptions-and.html

但请记住:崩溃后不要继续运行。这不安全:D

【讨论】:

  • 当应用程序崩溃时,您应该运行任何 Objective-C 代码,因为它不安全!见landonf.bikemonkey.org/code/objc/…
  • 我说它不安全,但它可以工作.. 并且进入模态运行循环不会受到伤害。您必须将其设计为可重入安全的,并且不小心,事实并非如此。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-31
  • 1970-01-01
  • 1970-01-01
  • 2020-03-29
  • 2014-12-27
相关资源
最近更新 更多