Доступ к медиа: группа XML, возвращенная библиотекой GData Obj-C для доступа к плейлистам YouTube - PullRequest
0 голосов
/ 06 января 2012

Я видел пару похожих вопросов по этому поводу, однако ни один из них не работает правильно.(Я полагаю, что 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;

1 Ответ

0 голосов
/ 06 января 2012

Нашел проблему!

Проблема заключалась в том, что я забыл добавить: -ObjC -all_load к моим другим флагам компоновщика. Как только я добавлю их, записи каналов возвращаются в виде типа GDataEntryYouTubePlaylist.

Надеюсь, это поможет кому-то еще.

...