swift - YouTube 原生在 Swift 应用程序中?

标签 swift swift3 youtube youtube-api youtube-iframe-api

好的,我看过类似的问题,知道 YouTube 有一个 API- https://www.appcoda.com/youtube-api-ios-tutorial/

但是,我很困惑为什么人们继续使用 openUrl 路由(意味着在 YT 应用或 Safari 中打开),如果这实际上是可能的话 -

我只想显示/让用户浏览。我的应用程序中原生存在某个 YouTube channel 。 View 需要能够注册,所以我需要一个干净/样板解决方案,或者将采用 openUrl 路线..

这可能吗?我想使用 WebView 并拉出 channel ,但这可能会导致用户直接离开 YouTube channel 并在我的应用中看到随机的 WebView ,而且不确定那里是否有加载时间。

最好的方法是 openurl 吗?还是原生可以?

最佳答案

使用 WebView 更容易。

您还可以查询 Youtube 的 API(例如 listitems 端点: https://developers.google.com/youtube/v3/docs/playlistItems/list )以获取视频列表(我在某些应用程序中所做的操作),然后当用户点击该元素时,使用YTPlayerView(可在 https://github.com/youtube/youtube-ios-player-helper 获取)

示例:

class YTPlayerViewController: UIViewController {

    @IBOutlet weak var videoView: YTPlayerView!
    var selectedVideo: YouTubeVideo?

    override func viewDidLoad() {
        super.viewDidLoad()

        if let video = selectedVideo {
            title = video.title
            videoView.load(withVideoId: video.videoId)
        } else {
            // Video not selected
        }
    }

}

YTPlayerView 将在内部使用 webview 来播放视频(这是 YT 条款允许的唯一方法)

关于swift - YouTube 原生在 Swift 应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50200648/

相关文章:

Swift区分几个同名的函数用途

ios - Swift 无法从上到下呈现 View Controller

facebook - 如何将YouTube视频嵌入到Facebook iframe应用中?

javascript - 在移动浏览器上点击按钮全屏播放 youtube 视频

ios - Storyboard中带有 PageControl 的 ScrollView

swift - 无法将类型 'MyEnum<T.Type>' 的值转换为预期的参数类型 'MyEnum<_>'

ios - 限制 WKWebView 的域/url

swift - 尝试通过多点连接将音频从麦克风流式传输到另一部手机

ios - if or/and else if 语句被传递

python - BeautifulSoup是否支持自定义html标签?