ios - 检测相机的主动使用

标签 ios camera

我需要在我的应用程序运行时检测是否有其他应用程序正在使用 iPhone/iPad 的摄像头。我的应用程序继续在后台运行(音频),但它本身不使用相机。我只需要查明其他应用是否正在使用任何相机。

此外,我想使用尽可能少的 CPU 资源,以最大限度地减少电池使用量。

我试过没有成功:

  • 运行一个简单的 AVCaptureSession 来捕捉中断通知(它永远不会被通知)
  • 在所有 AVCaptureDevice 上调用 lockForConfiguration
  • 定期监控 AVCaptureInputPortenabled 属性(始终为 YES)
  • 定期监控AVCaptureDeviceconnected 属性(总是YES)

为了澄清:

  • 我不需要检测摄像头存在的方法
  • 我不需要任何方法来确定相机在我的应用程序中是否处于事件状态

感谢您的指点。

编辑:这是一项安全功能:当我的应用处于事件(后台)使用状态时,如果恶意(前台)应用极有可能拍摄用户或周围环境的照片或视频,我想警告用户.

最佳答案

iOS 文档没有说明当另一个应用程序运行相机时可以通知您的应用程序的方式。这听起来不像是 Apple 永远允许的事情。此外,知道另一个应用程序是否正在运行相机也没有任何好处,因为:a) 如果相机未处于事件状态,您的应用程序将无法使用它,并且 b) 您的应用程序不能以任何方式影响另一个应用程序的操作。试着想出一种替代方法来替代您想要实现的目标,因为不幸的是,这种方法是不可能的。

关于ios - 检测相机的主动使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10800640/

相关文章:

javascript - 我可以在 Firefox OS 中的应用程序中获取实时摄像头图像吗?

opencv - 鱼眼::estimateNewCameraMatrixForUn DistreightRectify opencv

android - 将自定义过滤器应用于相机输出

iphone - 通过 AVFoundation 使用 iPhone 相机时如何避免阻塞 UI?

objective-c - 如何按字母顺序对 NSMutableArray 中的自定义对象字段进行排序?

ios - 仅适用于 IOS 的 Whatsapp 上的 Cordova / ionic 社交共享错误

android - 打开带有缩略图图标的相机应用程序

ios - 我可以让 iOS 进程等待调试器吗?

ios - 从另一个自定义应用程序打开自定义企业应用程序时遇到问题

ios - 拖动功能在 Google map iOS 应用程序中不起作用?