2

我想在iPhone 4静态库中使用UIViewController MediaPlayer additions在iPhone 4中使用UIViewController MediaPlayer新增功能

我的视图控制器子类的.h进口<MediaPlayer/MediaPlayer.h>。然而,当我在.M使用presentMoviePlayerViewControllerAnimated我得到一个编译器警告:

“MyViewController”可不回应“-presentMoviePlayerViewControllerAnimated:动画:”

我在做什么错?我如何避免此警告?静态库与此有关吗?

当前代码:

NSURL* url = [NSURL URLWithString:urlAsString]; 
if ([MPMoviePlayerController instancesRespondToSelector:@selector(setFullscreen:animated:)]) { 
    // iPhone 3.2 or higher 
    MyMoviePlayerViewControllerSubclass* vc = [[MyMoviePlayerViewControllerSubclass alloc] initWithContentURL:url]; 
    [self presentMoviePlayerViewControllerAnimated:vc animated:YES]; 
    [vc release]; 
} 

回答

1

presentMoviePlayerViewControllerAnimated:需要MPMoviePlayerViewController类型的参数。

下面是一个例子:

// Initialize a movie player object with the specified URL 
    MPMoviePlayerViewController *mp = [[MPMoviePlayerViewController alloc] initWithContentURL:url]; 

    if (mp) { 
     // save the movie player object 
     self.moviePlayerViewController = mp; 
     [mp release]; 

     //Present  
     [self presentMoviePlayerViewControllerAnimated:self.moviePlayerViewController]; 

     // Play the movie! 
     self.moviePlayerViewController.moviePlayer.movieSourceType = MPMovieSourceTypeFile; 
     [self.moviePlayerViewController.moviePlayer play]; 
    } 

其中URL是电影的网址,并self.movi​​ePlayerViewController是一个属性VAR(如果你需要一个)类型MPMoviePlayerViewController的。

+0

我传递一个MPMoviePlayerViewController子类的实例。这是问题吗? – hpique 2010-07-27 01:51:37

+0

这应该没问题 - 你使用iOS 4 SDK吗? – Calvin 2010-07-27 01:56:28

+0

是的。 Base SDK是iPhone Device 4.0,iPhone OS Deployment Target是iPhone OS 3.1。 – hpique 2010-07-27 02:00:54

0

如果这些添加项位于静态库中,那么您需要确保您的主项目具有其他链接器标志集,否则编译器将忽略扩展名。

进入您的构建设置您的主要项目,并根据连接器选项请确保您有以下设置:

-ObjC -all_load