2015-07-13 12 views
5

Quindi ho questo nidificato AVPlayerViewController all'interno di una vista contenitore nello storyboard. Accedo a questo lettore vide controller utilizzando prepareForSegue. Ma quando tento di impostare qualsiasi proprietà sulla proprietà player, Xcode mi dà un errore Receiver 'AVPlayer' for class message is a forward declaration. Ho importato correttamente AVKit nello .h. Che cosa sto facendo di sbagliato?AVPlayer forward dichiarazione classe

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    if ([segue.identifier isEqualToString:@"videoPlayerEmbed"]) { 
     self.videoPlayerController = (AVPlayerViewController *)segue.destinationViewController; 
     self.videoPlayerController.delegate = self; 
     self.videoPlayerController.player = [[AVPlayer alloc] init]; 
    } else { 
     [super prepareForSegue:segue sender:sender]; 
    } 
} 

risposta

21

L'ho capito. Pensavo che #import <AVKit/AVKit.h> fosse sufficiente per AVPlayerViewController ma se si desidera gestire lo AVPlayer è necessario anche #import <AVFoundation/AVFoundation.h>.

0

Vi siete importato AVPlayerViewController.h cioè #import "AVPlayerViewController.h"?

Una dichiarazione di inoltro è il punto in cui si sta tentando di inviare messaggi a una classe di cui il compilatore non è a conoscenza.

+0

Ottengo il file "AVPlayerViewController.h" non trovato ora. – Victor

+0

@TechGenius Assicurati che il tuo Progetto> Generale> Framework e librerie collegate includa AVKit.framework e AVFoundation.framework – ammianus

Problemi correlati