AVCaptureStillImageOutput
で静止画を撮りたいときは、フォーカスを調整するときにiPhoneでテストする際にキー値観測を使用しています6+ IOSの10フォーカスが調整されているときにKVOで検出 - iPhone 6で正しくありません
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if([keyPath isEqualToString:@"adjustingFocus"])
{
BOOL adjustingFocus = [ [change objectForKey:NSKeyValueChangeNewKey] isEqualToNumber:[NSNumber numberWithInt:1] ];
if (adjustingFocus)
{
NSLog(@"adjusting focus started");
}
else
{
NSLog(@"adjustingFocus done");
}
}
}
いくつかの時間が複数回呼び出される方法であって、第一時間で、私はフォーカス画面がぼやけているので、撮影された静止画像で行われることを検出します。私はその場合(ぼやけた画像)、このメソッドは2回以上呼び出されることに気付きました(フォーカスを調整するための開始と終了)。フォーカスが適切に調整されていないことを検出して、次のコールまたはそのコールが1回だけ呼び出されるのを待つ方法はありますか?