检测相机的活跃使用

5
我需要在我的应用程序运行时检测到其他应用程序是否正在使用iPhone/iPad的相机。我的应用程序在后台持续运行(音频),但它本身不使用相机。我只需找出是否有其他应用程序在使用任何相机。
此外,我希望尽可能少地使用CPU资源,以最小化电池使用量。
我已经尝试了以下方法但都没有成功:
- 运行一个简单的AVCaptureSession来捕获中断通知(它从未被通知) - 在所有AVCaptureDevice上调用lockForConfiguration - 定期监视AVCaptureInputPort的enabled属性(它始终为YES) - 定期监视AVCaptureDevice的connected属性(它始终为YES)
澄清一下:
- 我不需要检测相机的存在 - 我不需要找出相机在我的应用程序中是否处于活动状态
感谢任何指针。
编辑:这是一个安全功能:如果有一个恶意(前台)应用程序在我的应用程序处于活动(后台)状态时拍摄用户或周围的照片或视频,我想警告用户。
1个回答

3

iOS文档中没有提到您的应用可以在另一个应用程序运行相机时收到通知的方法。这听起来也不像是苹果公司会允许的事情。此外,如果知道另一个应用正在运行相机,也不会有任何好处,因为:a)如果您的应用程序未处于活动状态,则无法使用相机;b)您的应用程序无法以任何方式影响另一个应用程序的操作。请尝试考虑替代方案,因为不幸的是,这种方式是不可能的。


2
你无法实现这样的安全功能。苹果有责任确保恶意应用程序不会在应用商店出售,而iOS的工作是确保相机不能被后台应用程序使用。由于iOS不允许应用程序在后台运行相机,因此您不必担心检查它。 - woz
1
@Florian - 你看到通知音频播放的条款是因为后台应用程序也可以播放音频。鉴于可能涉及隐私问题,没有后台应用程序能够或将能够从相机中捕获内容,因此您不会收到此类通知。很抱歉,您在非越狱设备上无法实现您想要的功能。 - Brad Larson
1
我看了你的回答,但并不完全是那样。当我的应用在后台进行音频时,我不希望任何前台应用程序拍照或录像。如果他们仍然这样做,我想知道。为了用户的隐私。而且,当我可以查询另一个应用程序是否正在使用相机时,我不认为这会侵犯隐私。所以我再等一段时间,看看是否有人找到了诀窍。 - Florian
@Florian,你找到了一种方法来查看另一个应用程序是否正在使用相机吗? - William Grand
@WilliamGrand 没有,我们最终通过积极使用它来阻止视觉窃听,虽然不太好,但这是我们能做到的最好的。我相信我们能够在后台使用摄像头,因为它被标记为VoIP应用程序。但是我已经多年没有研究过这个问题了,所以当前的iOS可能提供其他可能性。 - Florian
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接