2012-09-07 14 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包括。這就是我發生的事情。即使該框架已包含在項目中,它也會提供與上述相同的錯誤。