【问题标题】:applicationWillTerminate not called when application stopped from Xcode应用程序从 Xcode 停止时未调用 applicationWillTerminate
【发布时间】:2011-06-23 15:29:25
【问题描述】:

我遇到了一个奇怪的问题,当我尝试从 Xcode 而不是主页按钮停止应用程序时,没有调用 - (void)applicationWillTerminate:(UIApplication *)application{}- (void)applicationDidEnterBackground:(UIApplication *)application{}

【问题讨论】:

  • 这种行为是有道理的,因为 Xcode 不是主页按钮。
  • 我正在尝试模拟当我到达 applicationWillTerminate 时需要执行文件操作的情况。当我停止正在运行的应用程序时,它不会调用 applicationWillTerminate,是因为它终止了正在运行的应用程序。
  • @moshe:谢谢。我想我现在明白了,因为从 xcode 关闭正在运行的应用程序,会杀死整个应用程序,因此没有进一步的调用。
  • 我会发布一个答案。如果他们帮助了你,你应该选择一些答案,这样人们就会有动力帮助你。
  • Why doesn’t stopping an application in iOS simulator trigger applicationWillTerminate:? 的可能重复项。这是一个较旧的问题,但这个问题和重复问题的答案都很好......我虽然另一个答案更好。

标签: ipad ios4 xcode4


【解决方案1】:

这是正常现象,因为 Xcode 不是您 iOS 设备上的主页按钮。

如果您单击“构建并运行”,例如,在测试另一个应用程序时,系统会提示您终止第一个应用程序。如果你这样做了,那么第一个应用程序将关闭,就好像它从未打开过一样。这似乎是应用程序沙盒的结果。

类似地,如果您在支持多任务的设备上测试应用程序时点击主页按钮,则应用程序将继续在后台模式下运行,并且不会触发applicationWillTerminate。但是,您的设备应该触发applicationDidEnterBackground

【讨论】:

  • 感谢您的洞察力!!!是的,我的应用程序在多任务处理中遇到了同样的问题,除了 applicationWillTerminate 之外,我还必须覆盖 applicationDidEnterBackground。这回答了我的疑问。
猜你喜欢
  • 2012-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-17
  • 2014-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多