2012-07-17 9 views
8

estoy recibiendo este error y no tengo ni idea de cómo solucionarlo ..isOrientationSupported está en desuso en IOS

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

sin embargo, cuando miro las manzanas documentation se dice que es una función de Mac OS .. no IOS ... así que estoy un poco confundido ... esperando obtener algunas respuestas ... Gracias ...

Respuesta

3

AVCaptureConnection está disponible también para iOS here. Probablemente buscó en la documentación incorrecta.

26

algunos ejemplos de código que funciona en la pre-6.0, así:

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]; 
    }     
} 
+0

Gracias! ¡Eso es lo que estoy buscando! –

+0

En lugar de: self.interfaceOrientation que es UIInterfaceOrientation, debe usar AVCaptureVideoOrientation. – Despotovic

1

El código de ejemplo respondido anterior funciona correctamente. Pero necesito reemplazar el yo. interfaceOrientation con AVCaptureVideoOrientation.

Código editado de la siguiente manera.

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

Según el requisito, la orientación será en vertical u horizontal.

Se aceptan modificaciones y sugerencias.

Cuestiones relacionadas