我使用 AVFoundation 制作了一个自定义相机。经过广泛的测试和研究,我想出了一个解决方案,使我的相机在访问 camViewController 时加载速度极快。解决方案是在单例内的函数内设置我的相机。该函数在我的基本 View Controller 的 viewDidLoad() 上被调用。然后,当用户按下按钮时,我会转到 camViewController,在其中设置预览层。在我返回到基本 View Controller 后,我从未暂停捕获 session 。
由于我有时在网上听到/读到有关危险的信息,我一直有点担心/害怕使用此解决方案。因此:这样做有什么缺点(内存/性能问题?等),或者我应该完全避免实现这个解决方案?谢谢!
最佳答案
我认为您在 Apple 的申请审核方面会遇到问题。
要启动捕获 session ,您应该请求用户许可,但是 apple recommends仅当应用明确需要时才请求许可。我认为在您的情况下,用户不会清楚地理解为什么启动的应用程序(当前屏幕上没有相机)请求访问相机的权限。 (我想你可以尝试将具有此功能的申请发送给申请审核)。
第二个问题更严重(我认为):当捕获 session 处于事件状态时,iPhone 会消耗更多电量。这对于电池生命周期来说并不是很好。 Apple recommends以最有效的方式使用电池。
关于ios - 可以在单例中设置我的 AVFoundation 相机吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57104797/