2012-09-07 41 views
3

我想在我的ViewController中播放视频。 Mediaplayer.framework和所有标题都在我的Frameworks文件夹中,包括MediaPlayer.h文件。但是,当我把MediaPlayer/Mediaplayer.h文件未找到

#import "TutorialViewController.h" 
#import <MediaPlayer/MediaPlayer.h> 

@interface TutorialViewController() 

@end 

@implementation TutorialViewController 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
    } 
    return self; 
} 

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 

    MPMoviePlayerController *player = 
    [[MPMoviePlayerController alloc] 
    initWithContentURL:[NSURL fileURLWithPath:url]]; 


    [[NSNotificationCenter defaultCenter] 
    addObserver:self 
    selector:@selector(movieFinishedCallback:) 
    name:MPMoviePlayerPlaybackDidFinishNotification 
    object:player]; 

    //---play movie--- 
    [player play]; 
    [super viewDidLoad]; 
} 

- (void) movieFinishedCallback:(NSNotification*) aNotification { 
    MPMoviePlayerController *player = [aNotification object]; 
    [[NSNotificationCenter defaultCenter] 
    removeObserver:self 
    name:MPMoviePlayerPlaybackDidFinishNotification 
    object:player]; 


// Do any additional setup after loading the view. 
} 


- (void)viewDidUnload 
{ 
[super viewDidUnload]; 
    // Release any retained subviews of the main view. 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:  (UIInterfaceOrientation)interfaceOrientation 
{ 
return (interfaceOrientation == UIInterfaceOrientationPortrait); 
} 

@end 

在我的.m文件,我得到一个错误,没有发现,说明“的MediaPlayer/MediaPlayer.h”文件。 这是什么意思,我该如何解决这个问题?

+0

纠正我,如果我错了,但这是一个客观的C问题?也许你应该这样标记 –

+0

是的。对不起,我对这一切都很陌生;我在发布问题后如何添加标签? – user1575528

+0

您应该可以编辑帖子。您可能还需要,因为我认为您需要更多信息。我添加了你的标签,但我认为你可能还需要发布你的文件结构。显而易见的事情是确保该目录按预期的方式存在Frameworks/MediaPlayer.framework/Headers/MediaPlayer.h并且他们已经链接到他的项目正确 –

回答

3

从项目中删除框架并重新添加它应该可以解决此问题。我建议你做的是打开你的项目目录,并确保当你添加框架到你的项目时,你只引用了框架,并没有复制它。如果该框架存在于您的项目文件夹中,那么将其删除,否则将其从您的项目中移除。

然后导航到:

项目导航>>你的应用目标>>摘要选项卡(滚动到下)

点击“+”下的“链接的框架”,从这里您可以重新将对框架的引用添加到您的项目中。

enter image description here

+0

谢谢,它的工作! :D – user1575528

+0

@ user1575528很高兴帮助! –

0

我希望有上述解决方案的工作了其他人......遗憾的是他们并没有为我在这个场合

但是......没有工作对我的工作...它有点“哈克”,但它得到了项目再次建设(我现在可能刚刚达到我的最后期限)

我使用了我需要的头文件的绝对完整路径,例如

#import "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MediaPlayer.h" 

这摆脱了那讨厌!感叹号“文件未找到”。我将继续调查原因,因为这清楚地指出了一些路径问题xCode

0

我相信OP缺少UIKit包括。这就是我发生的事情。即使该框架已包含在项目中,它也会提供与上述相同的错误。