3

我正在尝试在我的 ViewController 中播放视频。Mediaplayer.framework 和所有标题都在我的 Frameworks 文件夹中,包括 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”文件。这是什么意思,我该如何解决?

4

3 回答 3

3

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

然后导航到:

项目导航器>>您的应用程序目标>>摘要选项卡(滚动到底部)

单击“Linked Frameworks”下的“+”,然后您可以从这里将对框架的引用重新添加到您的项目中。

在此处输入图像描述

于 2012-09-07T02:52:47.650 回答
0

我希望上述一些解决方案对其他人有用......不幸的是,他们在这种情况下没有为我工作

但是......这确实对我有用......它有点“hacky”但它再次建立了项目(我现在可能刚刚达到我的最后期限)

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

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

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

于 2013-05-13T13:49:07.463 回答
0

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

于 2015-09-03T21:35:31.063 回答