我在iPhone模拟器中构建并运行一个项目,然后按下Home键将其发送到后台。接着双击Home键查找我的应用程序,并点击它。它变为活动状态,应用程序继续运行。不管我重复多少次,这里都没有问题。然后,我通过点击应用程序图标上的小红减号来杀死进程。但是,如果我再次点击应用程序图标以重新启动它,我会收到SIGKILL错误并导致应用程序崩溃。这可能是什么原因?这可能是由于我的XCode首选项造成的吗?
我在iPhone模拟器中构建并运行一个项目,然后按下Home键将其发送到后台。接着双击Home键查找我的应用程序,并点击它。它变为活动状态,应用程序继续运行。不管我重复多少次,这里都没有问题。然后,我通过点击应用程序图标上的小红减号来杀死进程。但是,如果我再次点击应用程序图标以重新启动它,我会收到SIGKILL错误并导致应用程序崩溃。这可能是什么原因?这可能是由于我的XCode首选项造成的吗?
这并不是真正的崩溃:这只是XCode对于你点击小红减号有延迟反应而已。当你以这种方式终止你的应用程序时,操作系统会向该进程发送一个SIGKILL信号——但是直到你重新启动应用程序后,XCode的调试器才能“看到”这个SIGKILL。
顺便说一下,你可以通过在调试器中点击“继续”按钮来“恢复”这个“崩溃”。
我在模拟器中遇到过类似的崩溃,当时我没有让调试器从应用程序上优雅地分离自己。尝试点击 Xcode 中的“停止”按钮而不是点击小红减号来终止应用程序。
为了进一步确认这是否与调试器有关,请尝试通过点击图标而不是在 Xcode 中使用 Build and Run 来第一次运行应用程序。然后通过点击红色 X 将其终止并重新启动。如果它仍然在没有调试器连接的情况下崩溃,则我的假设无效。