2011-12-12 65 views
0

「錯誤訪問」這是我的代碼:canSetSessionPreset:AVCaptureSessionPreset1920x1080原因,iOS4的

 
if([self.captureSession canSetSessionPreset:AVCaptureSessionPreset1920x1080] == YES) 
    { 
    [self.captureSession setSessionPreset:AVCaptureSessionPreset1920x1080]; 
    self.currentPreset = GMCVideoCaptureRecordingPresetFullHD; 
    } 

在iOS4的停止執行與「壞訪問」錯誤的第一道防線。 在iOS5上,它工作正常。

如何正確檢查兼容性?

回答

4

AVCaptureSessionPreset1920x1080NSString *const。你可以檢查它的地址是不是NULL。所以像這樣:

if(&AVCaptureSessionPreset1920x1080 != NULL && [self.captureSession canSetSessionPreset:AVCaptureSessionPreset1920x1080] == YES) 
{ 
    [self.captureSession setSessionPreset:AVCaptureSessionPreset1920x1080]; 
    self.currentPreset = GMCVideoCaptureRecordingPresetFullHD; 
} 

這應該做你想做的。請注意,您不會在iOS 5上設置<預設,但您可能需要else來處理iOS 5的<或無法設置1920x1080預設。

+0

謝謝!我試圖檢查AVCaptureSessionPreset1920x1080對零,這是錯誤的做法。 – AlexeyVMP