使用私有API强制iOS应用在前台打开

时间:2018-08-23 03:49:42

标签: ios swift xcode jailbreak iphone-privateapi

我目前正在使用一种自助亭类型的应用程序,该应用程序 不会在App Store中分发 。该设备有时需要切换应用程序来处理其他任务,但是如果用户没有手动切换回去,则我需要在经过一段设定的时间后将我的应用程序置于前台。

我们无法控制其他应用,因此无法在超时后将它们切换到我们的应用。

我知道这不能通过官方手段完成 ,但是我在问是否有人知道 私有API 我可以在预定的通知中致电,该通知会将我的应用程序置于前台。

我感觉由于应用程序的沙箱特性,如果不越狱就无法做到这一点,因为无法将消息发送到任何在设备上启动应用程序的服务。尽管应该/ em> 是可能的,但如果苹果商店中的演示设备搁置一会儿,它们便可以还原为演示“屏幕保护程序”应用程序。他们正在做什么以实现这一目标?

如果有一个可以做到这一点的越狱破解程序或配置或MDM服务可以处理的事情,我很乐意尝试一下。

同样,这是针对 私人应用 不会在App Store上分发。该应用程序将被放置在整个建筑物中并在内部网络上运行的设备上。

1 个答案:

答案 0 :(得分:0)

通过越狱,您可以查看类似AutoLaunch的内容:

  

如果您使用的某个特定应用似乎到处崩溃,那么一个名为AutoLaunch的新免费越狱调整可能是您的下一个好朋友。它可以自动重新启动在您的设备上崩溃的任何应用程序,因此您不必自己重新启动它。

http://www.idownloadblog.com/2017/01/08/autolaunch/

不确定是否要崩溃有多少控制权。您也许可以要求作者提供源代码,或者与他一起工作以获得所需的结果。

更新:

它是开源的:

https://github.com/chenzhijie/autolaunch

在进一步检查source之后,它似乎在崩溃后使用以下命令启动了应用程序:

int createSubProcessResult = fork();
if(createSubProcessResult == 0) {
   execl("/usr/bin/open","open",[currentAppBundleId UTF8String],NULL);
}

我想您可以推出自己的自动启动版本,并让它等待/订阅一个删除命令,该命令将启动/切换不同的应用程序。