使用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的更改对我没有帮助。
最后,我通过这些步骤使它发挥了作用。
- 从Podfile中删除youtube ios播放器助手
- 运行"pod更新"
- 现在您已经清理了youtube ios播放器助手的pod。现在将YTPlayerView.m、YTPlayerView.h拖动到项目中,然后选择"复制文件(如果需要)"。将YTPlayerView-iframe-player.html复制到项目文件夹中,并将其添加到"支持文件"组中
- 在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")