好的,我看过类似的问题,知道 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/