在没有越狱的情况下检测iOS9上哪个应用程序处于前台 [英] Detect which app is in foreground on iOS9 without jailbreak

查看:111
本文介绍了在没有越狱的情况下检测iOS9上哪个应用程序处于前台的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm trying to log users individual app usage on iOS9.

我更倾向于不会使用越狱限制解决方案,自我解释。在越狱手机上更改此应用程序不应该很难

I'd rather prefer that it wouldn't use jailbreak limited solutions, self explanatory. Doing the variation of this app on a jailbroken phone shouldn't be hard.

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

This will certainly not be released on the App Store as Apple wouldn't allow it.

I正在寻找可以执行此操作的任何私有API ,可以使用任何隐藏的iOS API来执行此操作。任何事情。

I'm looking for any private API that can do this, any hidden iOS API's that can be used to do this. ANYTHING.

我已经看过了:

  • how to determine which apps are background and which app is foreground on iOS by application id
  • How to know about app launched and details jailbreak iOS 7
  • Is there a private API to be able to detect what is current foreground app on iOS?
  • How to monitoring App running in the foreground in iOS8?use the PrivateFrameworks SpringBoardServices

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

which proved to be relatively helpful - we now can assume that there is some sort of additional access requirement, probably an entitlement, but we don't really know how it should look like

  • Can you find individual app usage duration using SpringBoard services framework or other private framework?
  • Find out active application or if on Springboard
  • Programmatically detect which iOS application is visible to user

但是所有这些被证明是无益的导致Apple使用iOS8修复安全漏洞复制/访问当前最前面的应用包标识符的方法不再有效。

However all of these proved to be unhelpful because Apple fixed this security flaw with iOS8 and the method to copy/access the currently front most app bundle identifier no longer works.

问题:是否有人知道解决方法使用不需要越狱的不同工具/漏洞利用?

Question is: Is there someone who knows a workaround using different tools/exploits that do not require jailbreak?

想法


  • 检查在设备上运行的进程并设计一种算法,该算法能够识别启动应用程序的峰值,这可能会起作用,但它可能是屁股的主要痛苦。提出此解决方案的问题:

  • inspecting the processes running on the device and devising an algorithm that would be able to recognize spikes that mean an app has been launched, which potentially could work, but it probably would be a major pain in the ass. Questions mentioning this solution:

  • Detect which app is currently running on iOS using sysctl,
  • Return a list of running background apps/processes in iOS
  • How to get Names of Background Running Apps
  • Find Background running apps in iphone

这里是我的Reddit版本的问题,如果有人想要查看它。此外,如果它是任何值,这里是运行时标题适用于iOS9 列出的Apple的私有API。

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 of Apple's private API's.

推荐答案

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

Unfortunately, I was looking for a similar solution and have come to the conclusion that, at least at this point in time, there are no known methods that will allow you to determine app usage on iOS. Even the MDM providers such as Good, Airwatch, MobileIron, etc. don't seem to be able to do this. If anyone is able to come up with a solution, I'd love to see it.

但是现在,我认为如果有人在最​​新的iOS上工作,我们会看到一个解决方案。

For now, however, I think we would have seen a solution if someone had one that worked on the latest iOS.

这篇关于在没有越狱的情况下检测iOS9上哪个应用程序处于前台的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆