【问题标题】:applicationDidEnterBackground is called twice on iOS7在 iOS7 上,applicationDidEnterBackground 被调用了两次
【发布时间】:2013-12-12 04:58:32
【问题描述】:

这是关于 iOS7 上的 iOS 应用程序。 当一个活动的应用程序从多任务显示中被杀死时,我意识到 appDelegate 方法“applicationDidEnterBackground”似乎被调用了两次。 如果有人已经知道它,请告诉我它发生的原因。 (是 iOS7 的 bug 还是规范??)

【问题讨论】:

  • 诡计,为什么我只调用一次?
  • 该方法仅通过按主页按钮调用一次,但是当您从 MULTITASKING DISPLAY 终止 ACTIVE 应用程序时,该方法将再次调用。我认为这是kid0所说的iOS7错误。
  • 这也发生在我的应用程序中。我看不出这被调用两次的充分理由。猜猜我们只需要保证方法是幂等的,这种方法自然应该是这样的。

标签: ios7 appdelegate


【解决方案1】:

我的测试还表明,应用程序终止时 applicationDidEnterBackground 被调用了两次。甚至默认模板中的 cmets 都表示,如果应用程序支持后台执行(我测试的应用程序不支持),这应该只在终止时发生,我想一个调用就足够了。可能是一个错误,而不是 iOS 7 中的第一个错误

【讨论】:

  • thx :) 我将改用另一个委托方法“applicationWillResignActive”。看起来效果很好。
  • 我可以确认这一点。我的应用程序在收到意外输入时其状态机显式崩溃。瞧,我看到这些崩溃通过 Crashlytics 出现在现场 :)
猜你喜欢
  • 1970-01-01
  • 2014-08-24
  • 2017-01-28
  • 1970-01-01
  • 2012-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-07
相关资源
最近更新 更多