iOS后台运行限制

我在使用 iSH: Linux shell for iOS 时,发现我在 ish 中安装运行的 ssh服务 服务,只要屏幕锁定或者 ish 放到后台,网络立即断开。这比 Android 平台限制要严格很多,Android平台的 Termux - Andorid终端 放到后台至少能运行(但会响应缓慢),甚至可以在配置中设置 termux 在Android后台运行,只要内存足够甚至可以永远不被杀死而一直运行。

那么iOS平台,能否让一个 ssh 服务运行在 ish 中始终保持呢?

简单来看,答案是: 不行

也就是说, iOS没有通用机制 可以用于:

  • 在后台持续运行代码

  • 在后台的某个特定时间运行代码

  • 以保证的间隔定期运行代码

  • 响应网络或 IPC 请求在后台恢复

iOS为了确保流畅、安全和节能,有严格的后台运行限制: 只提供各种专用机制来实现特定的用户目标

备注

每种机制都具有特定的用途

苹果的appstore会审核应用机制

备注

我这里没有完整整理,有待后续学习实践

参考