2015-07-13 10 views
5

So habe ich diese AVPlayerViewController in einer Containeransicht in meinem Storyboard verschachtelt. Ich greife auf diesen Player-Videoregler unter Verwendung von prepareForSegue. Aber wenn ich versuche, Eigenschaften auf die player Eigenschaft davon einzustellen, gibt Xcode mir einen Fehler Receiver 'AVPlayer' for class message is a forward declaration. Ich habe AVKit korrekt in die .h importiert. Was mache ich falsch?AVPlayer Forward Klasse Deklaration

- (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]; 
    } 
} 

Antwort

21

Ich habe es herausgefunden. Ich dachte #import <AVKit/AVKit.h> war genug für AVPlayerViewController, aber wenn Sie dieverwalten möchten, benötigen Sie auch #import <AVFoundation/AVFoundation.h>.

0

Haben Sie AVPlayerViewController.h heißt #import "AVPlayerViewController.h" importiert?

Eine Forward-Deklaration ist, wo Sie versuchen, Nachrichten an eine Klasse zu senden, von der der Compiler nichts weiß.

+0

Ich bekomme "AVPlayerViewController.h" Datei jetzt nicht gefunden. – Victor

+0

@TechGenius Stellen Sie sicher, dass Ihr Projekt> Allgemein> Verknüpfte Frameworks und Bibliotheken AVKit.framework und AVFoundation.framework enthält – ammianus

Verwandte Themen