Короче говоря, я ищу реализацию метода tapped из https://developer.apple.com/library/content/documentation/General/Conceptual/AppleTV_PG/DetectingButtonPressesandGestures.html
В деталях:
Я разрабатываю приложение tvOS с использованием Objective-C. Когда я использую AVPlayer для воспроизведения видео, я хочу записать текущее время проигрывателя, когда пользователь нажимает кнопку «Домой».
// Play the stream
player = [[AVPlayer alloc] initWithURL: [NSURL URLWithString: url]];
AVPlayerViewController *pvc = [[AVPlayerViewController alloc] init];
pvc.player = player;
self.player = player;
self.playerViewController = pvc;
UITapGestureRecognizer *tapGestureRec = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)];
tapGestureRec.allowedPressTypes = @[@(UIPressTypeMenu), @(UIPressTypeSelect)];
[self.playerViewController.view addGestureRecognizer:tapGestureRec];
Здесь я получаю нажатие, захваченное описанным ниже методом, но не знаю, как проверить нажатие домашней кнопки с пульта.
-(void) постучал: (UIGestureRecognizer *) отправитель {
//реализация ?
}
Я пробовал ниже реализацию, но она падает:
-(void) постучал: (UIGestureRecognizer *) отправитель {
UIPress *press = (UIPress *)sender;
if(press.type == UIPressTypeMenu) {
// Do what you want
// ...
cmTime = CMTimeMakeWithSeconds(CMTimeGetSeconds(self.player.currentTime), self.player.currentTime.timescale);
} else {
NSLog(@"%ld", (long)press.type);
}
}
Ошибка: 2017-03-08 09:45:35.991 XXXXX[63556:3612942] -[тип UITapGestureRecognizer]: нераспознанный селектор отправлен экземпляру 0x6080001bddc0 08-03-2017 09:45:35.997 XXXXX[63556:3612942] *** Завершение приложение из-за необработанного исключения «NSInvalidArgumentException», причина: «-[тип UITapGestureRecognizer]: нераспознанный селектор отправлен экземпляру 0x6080001bddc0»
Я впервые использую пульт Apple TV, поэтому мне нужна ваша помощь. Другой пост не мог мне помочь.