如何知道哪些应用程序在后台

How to know which Apps are in the background

是否有可能知道哪些应用程序在后台(双击主页按钮时出现的那些应用程序)?

对于第 3 方应用,否。不是以可靠的、App Store 安全的、面向未来的方式。将您的应用程序想象成孤立的,不知道还有什么 运行,您将完全处于 Apple 想要的心态(并尝试在技术上强制执行)。

对于您开发的其他应用,您可以使用共享容器在每次您的一个应用 opens/closes 时写入 load/unload 数据,并计算出当前 运行.

这在 iOS 和 public api 上是不可能的。可能会有执行此操作的私人 api 调用,尽管我认为您在沙盒中 运行 时无法访问它们。然而,这在越狱设备上可能是可行的,但是您将无法以这种 api 用法提交到应用商店,除非您知道如何对苹果隐藏它。

另请注意,应用切换器中显示的应用不一定是 运行。应用程序切换器会显示用户未强制退出的 运行 过去的所有应用程序。如果用户不强制退出应用程序,则所有启动过的应用程序都会显示在应用程序切换器中。如果 iOS 由于内存需求决定终止某个应用程序,该应用程序仍会显示在应用程序切换器中。这是每个人都应该实施状态恢复的原因之一,因为用户不知道应用程序当前是否 运行!