无法嵌入YTPlayerView NSCocoaErrorDomain代码=258的YouTube视频



使用YTPlayerView嵌入YouTube视频不起作用。它只在日志中给我这个错误:

2015-12-12 20:19:45.229蜡房〔8545:3426005〕收到错误呈现模板:错误域=NSCocoaErrorDomain代码=258"文件名称无效。"

所以我在谷歌上搜索了一下,很明显这与缺少"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

您可以手动将YTPlayerView-iframe-player.html添加到Xcode项目(或Cocoapods项目/target)中,也可以将Cocoapod指向主分支:

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

对Podfile的更改对我没有帮助。

最后,我通过这些步骤使它发挥了作用。

  1. 从Podfile中删除youtube ios播放器助手
  2. 运行"pod更新"
  3. 现在您已经清理了youtube ios播放器助手的pod。现在将YTPlayerView.m、YTPlayerView.h拖动到项目中,然后选择"复制文件(如果需要)"。将YTPlayerView-iframe-player.html复制到项目文件夹中,并将其添加到"支持文件"组中
  4. 在YTPlayerView.m中更改如下:

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

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

我已经在手机上测试过了,效果很好。

将"youtube ios播放器助手"文件夹中包含的"Assets.bundle"(从Git解压缩项目文件夹后)添加到xcode项目中。这为我修复了这个问题。

我将Podfile中的pod名称更改为:pod"youtube-ios-player-helper"(这是官方文档告诉你要做的)

收件人:pod"youtube ios播放器助手swift"

我还必须将文件中的导入更改为youtube_ios_player_helper_swift,有些方法的名称略有不同。

我试过了上面的大部分答案,但都没有用。我只想得到一个白色的矩形视图。希望这对你有用。

(截至2021年11月,pod版本1.1的pod"youtube ios播放器助手swift")

相关内容

  • 没有找到相关文章

最新更新