Невозможно встроить видео YouTube с помощью YTPlayerView NSCocoaErrorDomain Code=258

Встраивание видео с YouTube с помощью YTPlayerView не работает. Это только дает мне эту ошибку в журнале:

2015-12-12 20:19:45.229 Wax-room[8545:3426005] Получен шаблон рендеринга ошибок: Error Domain=NSCocoaErrorDomain Code=258 «Имя файла недопустимо».

Итак, я погуглил, и это, очевидно, как-то связано с отсутствием «YTPlayerView-iframe-player.html». Я пробовал все предложенные местоположения, но либо они неверны, либо я делаю что-то не так. Документация настолько плоха при использовании его со Swift (2.x), Cocoapods и iOS 9.

https://developers.google.com/youtube/v3/guides/ios_youtube_helper

Папки Assets в поде тоже нет.

Только что наткнулся на это:

Проблема в том, что файл YTPlayerView-iframe-player.html больше не копируется. Я вернулся к версии 0.1.4 и теперь вижу html-страницу, и она снова работает https://github.com/youtube/youtube-ios-player-helper/issues/160

Это ошибка в версии 0.1.5, которая является последней. Перешел на 0.1.4 и теперь работает. Проверьте это: https://github.com/youtube/youtube-ios-player-helper/issues/157


person LuckyLuke    schedule 12.12.2015    source источник
comment
Да, это тоже случилось со мной. Я вручную добавил файлы и изменил путь к файлу в файле youtubeplayer:/. Теперь нашел лучшее решение.   -  person Muhammad Zohaib Ehsan    schedule 12.12.2015
comment
@MuhammadZohaibEhsan Похоже, вам просто нужно установить номер версии 0.1.4, и он работает без каких-либо дополнительных шагов.   -  person LuckyLuke    schedule 12.12.2015


Ответы (3)


Вместо отката к версии 0.1.4 вы можете вручную добавить YTPlayerView-iframe-player.html в свой проект Xcode (или проект/цель Cocoapods) или указать Cocoapods на основную ветку:

pod 'youtube-ios-player-helper', :git=>'https://github.com/youtube/youtube-ios-player-helper', :commit=>'head'
person JAL    schedule 20.01.2016

Изменения для Podfile мне не помогли.

Наконец, я заставил это работать на этих шагах.

  1. Удалить youtube-ios-player-helper из подфайла
  2. Запустите «обновление модуля»
  3. Теперь вы очистили модуль для youtube-ios-player-helper. Теперь перетащите YTPlayerView.m, YTPlayerView.h в проект и выберите «копировать файлы, если это необходимо». Скопируйте YTPlayerView-iframe-player.html в папку проекта и добавьте его в группу «Вспомогательные файлы».
  4. В YTPlayerView.m Измените это:

NSString *path = [[NSBundle mainBundle] pathForResource:@"YTPlayerView-iframe-player" ofType:@"html" inDirectory:@"Assets"];

To: NSString *path = [[NSBundle mainBundle] pathForResource:@"YTPlayerView-iframe-player" ofType:@"html"];

Я проверил это на своих мобильных телефонах, и это работает хорошо.

person flame3    schedule 02.08.2016

Добавьте «Assets.bundle», включенный в папку «youtube-ios-player-helper» (после распаковки папки проекта из Git), в ваш проект xcode. Это решило проблему для меня.

person Marimuthu    schedule 27.07.2016