无法使用YTPlayerView NSCocoaErrorDomain Code = 258嵌入YouTube视频

时间:2015-12-12 19:25:31

标签: ios swift youtube youtube-api ytplayerview

使用YTPlayerView嵌入YouTube视频无效。它只在日志中给出了这个错误:

  

2015-12-12 20:19:45.229 Wax-room [8545:3426005]收到错误   渲染模板:错误Domain = NSCocoaErrorDomain Code = 258"该文件   名称无效。"

所以我用谷歌搜索它显然与#34; YTPlayerView-iframe-player.html"有关。不见了。我已经尝试了所有建议的位置,但要么他们错了,要么我做错了。使用Swift(2.x),Cocoapods和iOS 9时,文档非常糟糕。

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

pod中没有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

3 个答案:

答案 0 :(得分:4)

您可以手动将YTPlayerView-iframe-player.html添加到Xcode项目(或Cocoapods项目/目标),或指向主分支处的Cocoapods,而不是回滚到版本0.1.4:

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

答案 1 :(得分:3)

Podfile的更改对我没有帮助。

最后,我让它在这些步骤中发挥作用。

  1. 从Podfile中删除youtube-ios-player-helper
  2. 运行'pod update'
  3. 现在你已经为youtube-ios-player-helper清理了pod。现在将YTPlayerView.m,YTPlayerView.h拖到项目中,然后选择“根据需要复制文件”。将YTPlayerView-iframe-player.html复制到项目文件夹并将其添加到“支持文件”组中。
  4. 在YTPlayerView.m中 改变一下:
  5. NSString * path = [[NSBundle mainBundle] pathForResource:@“YTPlayerView-iframe-player”ofType:@“html”inDirectory:@“Assets”];

    要: [STAThread] void main(array<String^>^ args) { Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); MYPROG::MyForm form; Application::Run(%form); }

    我已经在我的手机中对此进行了测试,效果很好。

答案 2 :(得分:1)

添加&#34; Assets.bundle&#34;包含在&#34; youtube-ios-player-helper&#34;文件夹(在将项目文件夹从Git解压缩后)到您的xcode项目中。这为我解决了这个问题。