2013年4月25日木曜日

【メモ】addObserverでエラー(Objective-C)

UIImagePickerControllerのカメラをやめて
AVFoundationを使ってカメラアプリ作ってると以下のエラーが。。。



An -observeValueForKeyPath:ofObject:change:context: message was received but not handled.


調べてみると
addObserverあたりで発生している感じ。

今回の場合は、AVCaptureDeviceのキー値監視をしていたんだけど
Viewを閉じる動作(カメラを閉じる)があったのでremoveObserver文を追加するとうまくいった。


-(IBAction)cancel:(id)sender{
    
    AVCaptureDevice* captureDevice =
    [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    
    [captureDevice removeObserver:self forKeyPath:@"XXXXX"];
    [self.captureSession stopRunning];
    
    self.captureSession = nil;
    [self dismissModalViewControllerAnimated:YES];
}

0 件のコメント:

コメントを投稿