繁体   English   中英

为什么在 iOS 模拟器中停止应用程序不会触发 applicationWillTerminate:?

[英]Why doesn’t stopping an application in iOS simulator trigger applicationWillTerminate:?

我的AppDelegateapplicationWillTerminate:方法中有一些代码,但我不知道如何测试它是否有效。 使用 Xcode 停止模拟器不会触发它。

如何测试 applicationWillTerminate: 中的代码?

请注意,这是特定于模拟器而不是设备。

模拟器不会发送applicationWillTerminate:因为跳板没有向您发送终止代码 (SIGABRT),LLDB 是。 要触发这些委托方法,您必须使用主页按钮命令 (⌘+⇧+H),然后拉起多任务抽屉并从那里终止您的应用程序。 您的调试会话将立即终止,并且委托方法将成功触发。

在 iOS 9.1(也许之前)中,这似乎只有在您双击主页并向上拖动应用程序以退出时才有效。 从桌面执行此操作不会触发此事件,它必须在应用程序在模拟器中打开时发生。

在此处输入图片说明

它与我合作的唯一方法是在我执行以下步骤之后:

  1. 编辑目标架构
  2. 选择Run水龙头
  3. 选择Wait for the execution to be launched作为启动选项
  4. 从 Xcode 运行应用程序
  5. 在模拟器/设备上打开应用
  6. 双击主页按钮
  7. 从后台删除应用程序

等待执行被启动

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM