2012-07-17 19 views
8

sto ottenendo questo errore e non ho idea di come risolvere il problema ..isOrientationSupported è deprecato in IOS

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

però quando guardo le mele documentation si dice che si tratta di una funzione di Mac OS .. non IOS ... quindi sono un po 'confuso ... in attesa di ottenere alcune risposte .. Grazie ..

risposta

3

AVCaptureConnection è disponibile anche per iOS here. Probabilmente hai cercato nella documentazione sbagliata.

26

Alcuni codice di esempio che funziona sulla pre-6.0 così:

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

Grazie! Questo è quello che sto cercando! –

+0

Invece di: self.interfaceOrientation che è UIInterfaceOrientation, dovresti utilizzare AVCaptureVideoOrientation. – Despotovic

1

Il codice di esempio sopra risposto funziona bene. Ma bisogno di sostituire se stessi. interfaceOrientation con AVCaptureVideoOrientation.

Codice modificato come segue.

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

A seconda del requisito, l'orientamento sarà orizzontale o verticale.

Modifiche e suggerimenti sono benvenuti.