在 iOS 中,强制退出 App 有以下几种方法:
exit(0);
退出整个 App[NSThread exit];
退出当前线程,在主线程执行可以退出 Appabort()
异常中止 App,可以通过捕捉信号SIGABRT
来进行异常处理assert()
断言也会让 App 异常中止
因为不管使用何种方式杀掉 App,都会产生正在使用中的资源不能正常释放的问题,比如数据库写入一半 App 中止了。
Apple 官方不建议中止 App,如果在开发中需要结束进程,推荐使用 abort()
或者 assert()
来触发程序退出。
替代方案
把 App 切换到后台而不是中止程序运行:
[UIApplication.sharedApplication performSelector:@selector(suspend)];