关于iOS AVFoundation captureStillImageAsynchronouslyFromConnection:completionHandler:无限期悬挂的问题,这可能是由于某些因素导致的长时间等待。以下是一些可能的原因和解决方案:
AVCaptureDevice.authorizationStatus(for:)
方法检查授权状态,并使用AVCaptureDevice.requestAccess(for:completionHandler:)
方法请求授权。AVCaptureDeviceDiscoverySession
检查可用的摄像头设备,并使用AVCaptureDeviceInput
将其添加到AVCaptureSession
中。completionHandler
被正确调用。在completionHandler
中添加一些日志或断点,以确保它被调用。如果completionHandler
没有被调用,可能是因为某些操作没有正确完成。AVCapturePhotoOutput
。这个API提供了更多的控制和更好的性能,可以替代captureStillImageAsynchronouslyFromConnection:completionHandler:
方法。总之,要解决captureStillImageAsynchronouslyFromConnection:completionHandler:
无限期悬挂的问题,需要检查摄像头权限、设备配置、completionHandler调用、系统限制和其他捕获API的使用。