如何使用代码结束 iOS 应用

Jul 26, 2022 • 预计阅读时间 1 分钟

在 iOS 中,强制退出 App 有以下几种方法:

  • exit(0); 退出整个 App
  • [NSThread exit]; 退出当前线程,在主线程执行可以退出 App
  • abort() 异常中止 App,可以通过捕捉信号 SIGABRT 来进行异常处理
  • assert() 断言也会让 App 异常中止

因为不管使用何种方式杀掉 App,都会产生正在使用中的资源不能正常释放的问题,比如数据库写入一半 App 中止了。

Apple 官方不建议中止 App,如果在开发中需要结束进程,推荐使用 abort() 或者 assert() 来触发程序退出。

替代方案

把 App 切换到后台而不是中止程序运行:

[UIApplication.sharedApplication performSelector:@selector(suspend)];

参考

How do I programmatically quit my iOS application?

iOS
版权声明:如果转发请带上本文链接和注明来源。

lvv.me

iOS/macOS Developer

C/C++ 中的 static 和 inline 的作用

Combine 与响应式编程