Imprimir el contenido de una UIView en un UIImage funciona en un simulador pero no en un dispositivo

He estado escribiendo una aplicación IOS, y deseo crear una copy exacta de un reproductor de video, y mostrar este doble justo debajo. El usuario no podría interactuar con ese doble, ya que es solo un reflection.

Para eso, exhibí con éxito un video (MPMoviePlayerController) en un UIViewer, e bash copyr el contenido del atributo de vista del reproductor en un UIImage justo debajo.

Aquí está mi código hasta ahora:

@interface ViewController () @property (strong, nonatomic) MPMoviePlayerController *player; @property (strong, nonatomic) UIImageView *imageView; - (UIImage *)screenCapture:(UIView *)view; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; NSURL *url = [NSURL URLWithString:@"http://xxx.xxx.xx.xx/serenity.mp4"]; MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:url]; self.player = player; player.view.frame = CGRectMake(0, 0, 320, 200); [self.view addSubview:player.view]; [self.view bringSubviewToFront:player.view]; [player prepareToPlay]; CGRect rect = CGRectMake(0, 310, 320, 200); _imageView = [[UIImageView alloc]initWithFrame:rect]; [self.view addSubview:_imageView]; NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:0.03 target:self selector:@selector(repeateMethod:) userInfo:nil repeats:YES]; // repeateMethod calls the snapshot every 0.03 second } - (void)repeateMethod:(NSTimer *)timer { _imageView.image = [self screenCapture:_player.view]; } - (UIImage *)screenCapture:(UIView *)view { UIImage *capture; [view snapshotViewAfterScreenUpdates: NO]; UIGraphicsBeginImageContextWithOptions(view.frame.size , NO , 2.0 ); if ([view respondsToSelector:@selector(drawViewHierarchyInRect:afterScreenUpdates:)]) { [view drawViewHierarchyInRect:view.frame afterScreenUpdates:NO]; } else { [view.layer renderInContext:UIGraphicsGetCurrentContext()]; } capture = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return capture; } @end 

Este código funciona perfectamente en el simulador, lo que da este resultado:

View post on imgur.com

Puedes ver que tengo exactamente el comportamiento esperado: un clon del video, que se actualiza cada 0.03 segundos.

Pero cuando juego esto en mi dispositivo iPhone, obtengo esto:

http://i.stack.imgur.com/6tSZQ.png

Como puede ver, solo se muestran los controlleres, pero el contenido del video está completamente ausente. No puedo entender por qué, ya que funciona bien en el simulador … ¿Cómo explicarías este error? ¿Crees que tiene que ver con la política de Apple como una prevención para copyr contenido de video? Gracias por adelantado !