Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 目标C-终止在后台运行的所有其他应用程序_Ios_Objective C_Iphone_Multithreading_Enterprise - Fatal编程技术网

Ios 目标C-终止在后台运行的所有其他应用程序

Ios 目标C-终止在后台运行的所有其他应用程序,ios,objective-c,iphone,multithreading,enterprise,Ios,Objective C,Iphone,Multithreading,Enterprise,我需要开发一个企业应用程序,它应该能够关闭当前通过多线程在未越狱的iOS设备上运行的所有其他应用程序 几年前,我有一个名为的应用程序,它列出了所有当前运行的应用程序,包括它们的程序ID,并且能够关闭它们。这是一款发布在官方AppStore上的应用程序,但苹果当然会将其删除,因为违反了他们的指导原则 有人知道如何获取当前正在运行的进程并将其关闭吗 (由于这是一个企业应用程序,因此该应用程序不会进入苹果/应用商店) 编辑: 我做了更深入的研究,发现在iOS 9中,你甚至无法获得任何正在运行或已安装的

我需要开发一个企业应用程序,它应该能够关闭当前通过多线程在未越狱的iOS设备上运行的所有其他应用程序

几年前,我有一个名为的应用程序,它列出了所有当前运行的应用程序,包括它们的程序ID,并且能够关闭它们。这是一款发布在官方AppStore上的应用程序,但苹果当然会将其删除,因为违反了他们的指导原则

有人知道如何获取当前正在运行的进程并将其关闭吗

(由于这是一个企业应用程序,因此该应用程序不会进入苹果/应用商店)

编辑:


我做了更深入的研究,发现在iOS 9中,你甚至无法获得任何正在运行或已安装的应用程序以及PID之类的连接信息。另外,为了在iOS 9中获得任何第三个PID失败。

我认为您不能这样做,因为苹果不允许您在应用程序沙箱的外部访问数据。

过去有一种方法可以做到这一点,但在iOS 9中,它将不再工作。用于此操作的库sysctl不再可供沙盒iOS 9应用程序访问

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

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


也许还有另一种方法,但肯定不会像几年前那么容易,而且苹果也会不遗余力地关闭,即使是企业应用程序

查看POSIXAPI以获取流程信息。我对它们并不熟悉,但你应该能够找到API来检索PID并向它们发送信号。这显然是非常危险的。你基本上是在一个随机点崩溃一个应用程序,例如在保存文件的中间。发送一个杀死信号可能不会那么危险,因为应用程序随时可以被系统终止。但是要杀死哪些进程呢?我当然不想在自己的设备上安装该应用程序。@Eiko iOS终止该应用程序,但使用协议让应用程序有机会在。。。在这种模式下,信号传递是非常残酷的。你可以尝试分配大量内存,以导致内存压力终止其他应用程序,但使用后台模式的应用程序可能会重新启动。即使是在企业应用程序中,我也不能说你所做的对我有任何意义。你是说苹果删除了过去的公共API,也可能删除了现有的私有API?是的,幸运的是,我最近也发现了这一点。。。因此,如果有人找到了另一种方法,我们会非常感激,但在此之前,这个答案是最好的答案。如果你不越狱,我找不到任何办法。谢谢你的回答!是的,显然越狱会允许这样做。不必去商店,您就可以使用私有API之类的东西,但我认为实现这一点的主要方法是通过内核API。如果没有这些,我想你就不走运了。祝你好运,你正在尝试做的事情。是你试图杀死内部应用的其他应用。如果是这样,您可以通过自定义url方案向他们传递kill命令。您只需更改其他应用程序即可处理该方案,并使用“退出(0)”;处理自杀请求