iOS 应用程序何时在模拟器中终止? (Xcode 9,测试版 5)

Posted

技术标签:

【中文标题】iOS 应用程序何时在模拟器中终止? (Xcode 9,测试版 5)【英文标题】:When is an iOS app terminated in the simulator? (Xcode 9, Beta 5) 【发布时间】:2018-01-21 02:06:04 【问题描述】:

简短:Xcode 9 b5 的模拟器是否错误地将系统事件或退出和重新启动的应用程序的事件报告回 Xcode 控制台?

更长: 使用 Xcode 9 测试版 5 (模拟器版本列为:10.0 版(SimulatorApp-829.3) 如果我只对标准单视图应用程序 viewController.swift 文件进行一次更改,添加一个 print("*** viewDidLoad() 已在 (Date()) 执行") 在 viewDidLoad 内部,然后构建并运行。 应用程序在模拟器中运行。 我在 Xcode 控制台中看到了预期的打印结果

当应用程序仍在模拟器中运行时,我返回主页(shift-cmd-H),然后返回第一个图标主屏幕(另一个 shift-cmd-H) 我双击主页按钮(快速两次 shift-cmd-H)以获取应用程序切换器。 我在我正在运行的仍在运行的应用程序上向上滑动。 正如预期的那样,我在上面打印的行下收到“由于信号 9 而终止”调试器消息。

如果,在仍在运行的模拟器中,我双击刚刚退出的应用程序的图标,应用程序按预期加载,但是...... - 控制台不清除 - 没有新的“*** viewDidLoad()...”语句,(我在打印输出中添加了 Date() 以验证它不是简单地覆盖先前的语句)。根本没有新的说法。

我是否遇到了模拟器错误,或者我认为从 ios 应用切换器向上滑动应用会终止应用并将其从内存中删除以便后续应用加载将重新执行 viewDidLoad 是错误的?

谢谢! 约翰

【问题讨论】:

【参考方案1】:

这可能与 Xcode 调试器绑定到应用程序有关。再试一次你的证明,只是不使用 Xcode 调试。只需从模拟器中启动应用程序并在您杀死并重新启动应用程序后观看设备控制台(通过 Xcode 的设备窗口)。

【讨论】:

以上是关于iOS 应用程序何时在模拟器中终止? (Xcode 9,测试版 5)的主要内容,如果未能解决你的问题,请参考以下文章

xcode 在模拟器上运行良好,但部署到 ios 6 时遇到错误

如何在 Xcode 中终止并重新打开应用程序后检查 UserDefaults (swift)

响应跳板的终止而终止如何影响我的应用程序

崩溃日志:-“由于没有系统应用程序而终止”

Xcode 5 不打印异常详细信息

iOS5 和 XCode4 错误 - 由于未捕获的异常“NSUnknownKeyException”而终止应用程序