Objective C – 终止在后台运行的所有其他应用程序

我需要开发一个企业应用程序,它应该能够closures所有其他正在通过multithreading在非越狱 iOS设备上运行的应用程序。

几年前,我有一个名为PKiller或Process Killer的应用程序,列出所有当前正在运行的应用程序,包括他们的程序ID,并能够closures它们。 这是一款在官方AppStore上发布的应用程序,但当然由于违反了他们的指导方针,苹果公司将其删除了。

有谁知道如何获得当前正在运行的进程并closures它们?

(再次这个应用程序不会去苹果/ AppStore,由于这是一个企业应用程序)

编辑:

我做了更深入的研究,发现你甚至无法在iOS 9中获得任何运行或安装的应用程序和连接的信息,如PID。 苹果公司使得sysctl不能再被沙箱化的iOS 9应用程序访问。 还有其他的方法 ,以获得任何第三个PID在iOS 9失败。

过去有办法做到这一点,但从iOS 9开始,它将不再起作用。 用于此的库,sysctl不再可以被沙箱化的iOS 9应用访问。

在iOS 9中,沙箱现在阻止进程访问其他进程的kern.proc,kern.procargs和kern.procargs2值

iOS应用程序不允许看到其他应用程序正在运行

https://developer.apple.com/videos/play/wwdc2015-703/

可能还有另外一种方式,但是肯定不会像几年前那样容易,而且苹果公司也将不得不closures企业应用程序。

我相信你不能这样做,因为苹果不会允许你在应用程序沙箱上访问数据。