isOrientationSupported已在IOS中弃用

我得到这个错误,我不知道如何解决它..

WARNING: -[<AVCaptureVideoPreviewLayer: 0xad482c0> isOrientationSupported] is deprecated. Please use AVCaptureConnection's -isVideoOrientationSupported 

然而,当我看着苹果文件它说,这是一个Mac OS的function..不是IOS …所以我有点困惑…期待得到一些答案..谢谢..

AVCaptureConnection也适用于这里的iOS。 你可能看错了文档。

一些在6.0以前版本的示例代码:

 if ([captureVideoPreviewLayer respondsToSelector:@selector(connection)]) { if ([captureVideoPreviewLayer.connection isVideoOrientationSupported]) { [captureVideoPreviewLayer.connection setVideoOrientation:self.interfaceOrientation]; } } else { // Deprecated in 6.0; here for backward compatibility if ([captureVideoPreviewLayer isOrientationSupported]) { [captureVideoPreviewLayer setOrientation:self.interfaceOrientation]; } } 

上面的答案示例代码工作正常。 但是需要取代自我。 使用AVCaptureVideoOrientation的interfaceOrientation。

编辑的代码如下。

 if ([captureVideoPreviewLayer.connection isVideoOrientationSupported]) { [captureVideoPreviewLayer.connection setVideoOrientation:AVCaptureVideoOrientationPortrait]; } 

取决于要求的方向将是纵向或横向。

欢迎编辑和build议。