无需越狱即可检测 iOS9 上哪个应用处于前台

Detect which app is in foreground on iOS9 without jailbreak

我正在尝试记录用户在 iOS9 上的个人应用程序使用情况。

我宁愿它不会使用越狱限制解决方案,不言自明。在越狱 phone shouldn't be hard.

上做这个应用程序的变体

这肯定不会在 App Store 上发布,因为 Apple 不允许。

我正在寻找可以执行此操作的任何 私人 API,任何可以使用的隐藏 iOS API去做这个。任何东西。

我已经看过的内容:

这被证明是相对有用的 - 我们现在可以假设存在某种额外的访问要求,可能是一种权利,但我们真的不知道它应该是什么样子

然而,所有这些都被证明是无用,因为 Apple 使用 iOS8 和 copy/access 方法修复了 this 安全漏洞目前最前面的应用程序包标识符不再有效。

问题是:是否有人知道使用不需要越狱的不同 tools/exploits 的解决方法?

想法

Here is my Reddit version of this question if anyone wants to check it out. Also if it's of any value, here are the runtime headers for iOS9 and list 的 Apple 私有API。

不幸的是,我一直在寻找类似的解决方案并得出结论,至少在这个时间点,没有已知的方法可以让您确定 iOS 上的应用程序使用情况。即使是 Good、Airwatch、MobileIron 等 MDM 提供商,似乎也无法做到这一点。如果有人能够提出解决方案,我很乐意看到它。

但是,目前,我认为如果有人在最​​新 iOS.

上有一个解决方案,我们就会看到一个解决方案。

sysctl 仍处于打开状态,但它们会阻止某些选择器组合。我在 iOS 7 上完成了此操作,并向 Apple Product Security 提供了代码。他们不会修补 iOS 7,而是依赖 App Review。 iPhone 4 是全开的。