Si può fare questo con il nuovo materiale AVFoundation in iOS 4.0.
Dovresti riuscire a chiamare UIGetScreenImage() (restituisce una UIImage) per ottenere una cattura corrente dell'intero schermo, inclusa l'anteprima. Ecco come tutte le app per codici a barre funzionavano prima. Ma apparentemente Apple non ammette che ora e solo consentire la tecnica AVFoundation - che funziona solo sotto 4.0.
L'intero motivo per cui esiste anche un problema è dovuto al fatto che UIGetScreenImage() non fa parte dell'API documentata, ma Apple ha fatto un'eccezione specifica per l'utilizzo. Non è che stiano tirando le app attuali, ma non consentono nuove submission (o aggiornamenti) che usano la tecnica più vecchia.
Ci sono alcune lobby per conto di un certo numero di persone per convincere Apple a lasciare che gli sviluppatori di app utilizzino la vecchia tecnica solo per iOS 3.x, quindi invia una email alle relazioni con gli sviluppatori se vuoi usarla.
fonte
2010-08-02 02:49:07
Penso che dovrebbe essere possibile, dal momento che nell'AppStore ci sono app che fanno chiaramente screenshot della finestra di anteprima della telecamera (ad esempio QuadCam). Se chiami UIGetScreenImage() ottieni effettivamente un'immagine dell'anteprima della videocamera, ma questa è una funzione API privata e non dovrebbe essere utilizzata. –
Sì, UIGetScreenImage acquisisce il framebuffer corrente. renderInContext disegna la gerarchia della vista della vista specificata in un contesto. Queste sono cose concettualmente diverse. –
Sì, lo capisco. Il motivo per cui chiedo è qualcuno con il nome "Rolando" ha pubblicato che ha un terzo modo per salvare l'anteprima della fotocamera come un'immagine, ma afferma di non poter divulgare le informazioni a causa di una NDA. http://blog.airsource.co.uk/index.php/2008/11/11/views-of-uiimagepickercontroller/ –