我正试图通过我的应用程序使用URL方案打开YouTube应用程序,或者直接在iOS设备上打开YouTube应用程序的YouTube.com域。
这是我尝试过的代码:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"youtube://results?search_query=trailer+%@",movieTitle]]];
和
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://www.youtube.com/results?search_query=trailer+%@",movieTitle]]];
但似乎没有任何效果。关于如何检索YouTube的tvOS应用程序的URL方案的任何想法?
答案 0 :(得分:0)
在Apple TV上,您可以使用以下URL方案在YouTube应用中播放YouTube视频:
youtube://watch/video_id
代码示例:
func playVideoInYouTube(_ identifier: String) {
if let url = URL(string: "youtube://watch/" + identifier),
UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
else {
// Inform the user about missing YouTube app
}
}
要使用canOpenURL
方法,您必须将方案添加到键LSApplicationQueriesSchemes
下的 Info.plist 文件中,作为schemes数组的一部分。在XML中看起来像这样:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>youtube</string>
</array>
答案 1 :(得分:-1)
不一定认为这是一个“正确”的答案,但我认为至少iOS上的所有YouTube链接都由http
处理,而不是youtube://
。
来源(看起来是2015年6月):
答案 2 :(得分:-1)
我在youtube应用中播放youtube视频时也遇到了一些问题,但我找到了解决方法,我使用XCDYouTubeKit库直接在我的应用中播放YouTube视频。它非常易于使用,并且到目前为止工作正常。
XCDYouTubeKit:https://github.com/0xced/XCDYouTubeKit