iOS:模拟用户退出应用程序

时间:2016-01-11 00:58:13

标签: ios xcode swift

我刚刚将持久数据添加到我的应用程序中,并希望使用我的iPhone进行测试。当我退出我的应用程序(双击主页并向上滑动)时,我无法再次打开它(图标冻结)。当我在Xcode中的iOS模拟器上尝试相同的事情时,它也会崩溃。我收到来自AppDelegate的SIGTERM错误。这是用户在测试时退出时应该发生的事情,还是我的数据问题?有没有办法模拟用户退出并重新启动应用程序以确保我的数据仍在那里?

由于

2 个答案:

答案 0 :(得分:1)

这不是在附加Xcode调试器时用户退出时应该发生的事情(至少现在不再了-这个问题毕竟存在了几年)。

如果您在从Xcode(无论是模拟器还是物理设备)上运行时强行退出应用程序,它将停止调试器,并且您应该能够重新启动它而不会出现问题。这样启动时,将不会附加Xcode调试器,但是可以从Xcode将调试器附加到现有进程(“调试”>“附加到进程”)。

注意,如果在Xcode中运行,然后在Mac上退出模拟器应用程序(或关闭模拟器的窗口),则main.swift中将出现SIGTERM错误。但这与终止应用程序的用户不同,也无法与关闭设备的用户相提并论。

根据您的描述,这听起来像是您的代码中存在一个错误,该错误导致调试器在分离时启动或在终止后重新启动时冻结。

要模拟用户退出并重新启动,您应该能够从设备/模拟器中终止该应用程序,然后从Xcode再次运行该应用程序,或者从设备/模拟器中启动它,然后从Xcode附加到该进程。

在某些情况下,放置一些调试代码可能会有所帮助,这些调试代码会在运行时弹出警报/更新一些标签,以指示在应用重新启动后数据可以正确保存,这样您就不必总是拥有Xcode可以诊断您的应用程序中的问题。

答案 1 :(得分:0)

如果您从Xcode运行应用程序,这是正确的行为。但是,一旦您上传/运行应用程序一次,您就可以测试关闭并重新打开它。只需停止在Xcode中运行,转到您的手机或模拟器,然后单击应用程序图标将其打开。不幸的是,您当时没有调试器日志,但是您可以看到您的数据是否仍然存在。