Zor zamanlar yaşıyorum, basit olması gerektiğini düşündüğüm bir şey için. Sadece iOS uygulamasında fotoğraf çekerken flaşı yakmak istiyorum. Ve tüm denedim başarısız oldu ya da sadece yüzde 20 çalışıyor. Ya içerikli işlevini çağırarak Sonuna kadar deneyin blok içine 2 çizgilerini taşıyarak, kodun birçok lezzeti denediAVCaptureDevice'i bir flaşla kullanamazsınız
// Here we have: captureDevice.hasFlash && captureDevice.isFlashModeSupported(.On)
do {try captureDevice.lockForConfiguration()
captureDevice.flashMode = .On
captureDevice.unlockForConfiguration()
} catch let error as NSError {
print("captureDevice.lockForConfiguration FAILED")
print(error.code)
}
: Burada
flaş aydınlatmaya ateş koddur Bu kod farklı noktalardan. Ama sırasında her durumda bu çalışan:stillImageOutput.captureStillImageAsynchronouslyFromConnection(videoConnection) {
(imageDataSampleBuffer, error) -> Void in
aşağıdaki hatayı alıyorum:
captureDevice.flashMode = .On
tarafından:
Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo={NSUnderlyingError=0x13f079340 {Error Domain=NSOSStatusErrorDomain Code=-16800 "(null)"}, NSLocalizedFailureReason=An unknown error occurred (-16800), NSLocalizedDescription=The operation could not be completed}
Sonra çizgiyi değiştirin
captureDevice.torchMode = .On
Daha fazla veya daha az çalışan bir şey alıyorum (maalesef oldukça az), hatasız, ancak bu meşaleyi kullanıyor, bu yüzden zamanlama sorunları olsun:
captureSession.commitConfiguration()