15

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

如何测试 applicationWillTerminate: 中的代码?

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

4

3 回答 3

18

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

于 2012-12-29T07:43:43.403 回答
1

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

在此处输入图像描述

于 2016-02-12T03:29:46.277 回答
1

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

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

等待执行启动

于 2021-02-03T16:49:53.307 回答