我的目标是开发一个应用程序来同步 iPhone 相机拍摄的所有照片。
我搜索了很多,但找不到太多关于 iPhone 相机快门的硬件事件。
有可能像android CAMERA_BUTTON BroadcastReceiver一样吗?在 manifest 中,如果没有专门启动应用程序,是否一般按下相机按钮来监听?
或者覆盖现有的 iOS 相机应用程序?
2018 年 2 月 5 日更新
我没有设法直接检测到相机按钮,也没有从相机拍摄的照片中进行持续检测(PHPhotoLibraryChangeObserver)。当应用程序被杀死时,所有的听众也被杀死。但是,当使用位置更改机制启动应用程序时,我正在使用它
最后我用了Using the Significant-Change Location Service获取更改图片的检测以同步,持续进行。我用了NextCloud和 OwnCloud作为示例,其中包含这部分。
使用重大变化位置服务
最佳答案
图像和视频的捕获是一个完整的软件相关过程,由 AVFoundation 框架中的类管理。应用程序无法访问 iPhone 的整个硬件,您无法直接监控硬件的使用情况。有一些系统框架,但这些对你没有帮助。 AVFoundation 没有任何要发布给注册观察员的通知。
所有拍摄的图像和视频都放在照片库中,照片库会在库中发生变化时收到通知。您可以将您的应用程序注册为照片库中更改的观察者,并且您可以指定要观察者的更改。您还可以收集已发生的特定更改,并让您的应用程序处理照片库中的更改。
我不知道您是否可以将此用作远程更改,并在 iOS 在照片库中注册该更改时让您的应用程序启动。我知道您可以对您的应用程序进行编程以在收到通知时启动,但我不知道这是否可以通过 this 来完成改变观察者。我建议试一试。
希望这对您有所帮助。
关于ios - 硬件检测相机拍照/按下快门,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48753595/