Я видел пару похожих вопросов по этому поводу, однако ни один из них не работает правильно.(Я полагаю, что Google обновил библиотеку GData Objective-C после этих вопросов)
2 похожих вопроса:
Загрузка канала YouTube GData для одного видео по id
проблема с gdata youtube
Способ, которым @grobbins объясняет это в первой ссылке:
for (GDataEntryYouTubeVideo *videoEntry in [feed entries]) {
GDataYouTubeMediaGroup *mediaGroup = [videoEntry mediaGroup];
NSString *videoID = [mediaGroup videoID];
NSArray *mediaContents = [mediaGroup mediaContents];
GDataMediaContent *flashContent =
[GDataUtilities firstObjectFromArray:mediaContents
withValue:@"application/x-shockwave-flash"
forKeyPath:@"type"];
NSLog(@"video ID = %@, flash content URL = %@",
videoID, [flashContent URLString]);
}
Проблемачто при вызове 'mediaGroup' генерируется 'нераспознанный селектор, отправленный в экземпляр ...'
Я пробовал это с настройкой videoEntry как GDataEntryBase и GDataEntryYouTubeVideo (который является подклассом GDataEntryBase) и независимо от того, что показывает отладчикпеременная videoEntry всегда имеет тип GDataEntryBase (даже при указании GDataEntryYouTubeVideo, как указано выше)
Я мог бы самостоятельно извлечь XML-файл и разобрать его, но тогда какой смысл использовать библиотеку?(Кроме того, на сайте Googles говорится, что вам никогда не нужно анализировать XML напрямую)
Что я делаю не так?
Как получить раздел mediaGroup возвращенного списка воспроизведения?
FetchFeedWithURL: загружает мой метод после завершения, и мой метод имеет заголовок:
- (void)loadedPlaylist:(GDataServiceTicket*)ticket finishedWithFeed:(GDataFeedBase*)feed error:(NSError*)error;