Почему компоновщик жалуется на отсутствие символов?

Почему я получаю эту странную ошибку? http://img266.imageshack.us/img266/2203/help.tif Есть идеи?

выполнение:

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

@implementation VideoView
@synthesize player;

- (void)playVideoWithURL:(NSURL *)url showControls:(BOOL)showControls {
    if (!player) {
        player = [[MPMoviePlayerController alloc] initWithContentURL:url];

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

        if (!showControls) {
            player.scalingMode = MPMovieScalingModeAspectFill;
            player.movieControlMode = MPMovieControlModeHidden;
        }

        [player play];
    }
}

- (IBAction)playVideoWithControls {
    NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mov"];
    NSURL *url = [NSURL fileURLWithPath:path];
    [self playVideoWithURL:url showControls:YES];
}


- (void)didFinishPlaying:(NSNotification *)notification {
    if (player == [notification object]) {  
        [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:player];
        [player release];
        player = nil;
    }
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning]; // Releases the view if it doesn't have a superview
    // Release anything that's not essential, such as cached data
}


- (void)dealloc {
    [super dealloc];
}


@end

Заголовок:

#import <UIKit/UIKit.h>
#import <MediaPlayer/MediaPlayer.h>


@interface VideoView : UIViewController {
    MPMoviePlayerController *player;

}
@property (nonatomic, retain) MPMoviePlayerController *player;
- (IBAction)playVideoWithControls;


@end

person Community    schedule 07.06.2009    source источник


Ответы (1)


MPMoviePlayerController находится в MediaPlayer.framework, на который вы забыли ссылаться.

person Nikolai Ruhe    schedule 07.06.2009
comment
На что вы имеете ввиду ссылку? Я добавил его в свои файлы .m и .h - person ; 07.06.2009
comment
Дважды щелкните цель в разделе «Цели» в дереве «Группы и файлы». На первой вкладке есть список Связанные библиотеки, нажмите Плюс и добавьте фреймворк MediaPlayer. - person zoul; 07.06.2009
comment
поехали! спасибо за это, никогда не знал, как это сделать. Первый раз играю с фреймворком - person ; 07.06.2009
comment
но теперь я получаю сообщение об ошибке [NSCFDictionary playVideoWithControls]: в экземпляр отправлен нераспознанный селектор. Может кто-нибудь сказать мне, что это значит? - person ; 07.06.2009
comment
Дэниел Киндлер: Это означает то же самое, что и ваши исключения «isEqualToString:» раньше: вы отправили сообщение объекту, который не отвечает на это сообщение. Короче говоря, вы отправили сообщение не тому объекту. - person Peter Hosey; 07.06.2009
comment
Вы отправляете сообщение «playVideoWithControls» экземпляру NSDictionary. Запустите программу в отладчике, он покажет вам, где вы ошиблись. - person Nikolai Ruhe; 07.06.2009
comment
Что ж, я переключил своего владельца файлов на место, где я держу свой контроллер, но теперь я получаю новую ошибку ... [UIViewController playVideoWithControls]: нераспознанный селектор отправлен экземпляру 0x1028b1 Теперь я понимаю, что он говорит, что UIViewController не может реагировать на это действие , но я спрашиваю, что еще я мог сделать? Как я могу решить эту проблему? - person ; 07.06.2009
comment
Отправив это сообщение объекту, который действительно отвечает на playVideoWithControls. Я не вижу такого метода в документации (developer.apple .com/iphone/library/documentation/MediaPlayer/), поэтому вам, вероятно, нужно реализовать его самостоятельно, а затем отправить объекту, в котором вы его реализовали. - person Peter Hosey; 07.06.2009
comment
Ну я и сам реализовал. Я добавил свой код, чтобы вы могли просмотреть - person ; 07.06.2009
comment
Не забудьте часть «отправить его объекту, в котором вы его реализовали». Это будет VideoView. - person Peter Hosey; 07.06.2009
comment
Извините, я действительно новичок в этом. Что ты имеешь в виду? - person ; 07.06.2009
comment
Помогите, кто-нибудь? я не могу понять это - person ; 11.06.2009