是否有使用指定搜索查询打开YouTube iOS应用的网址方案?
我试过了:
NSString *stringURL = @"http://www.youtube.com/results?search_query=foo";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
但这将打开Safari而不是YouTube应用程序。
答案 0 :(得分:20)
您无法使用此http://www.youtube.com/results?search_query=foo
打开YouTube应用。如果你使用上面的网址,它将打开Safari而不是youtube app。
只有三个URLSchemes可用于打开youtube app:
http://www.youtube.com/watch?v=VIDEO_IDENTIFIER
http://www.youtube.com/v/VIDEO_IDENTIFIER
youtube://
答案 1 :(得分:13)
这在iOS 9中运行良好
youtube://www.youtube.com/channel/<channel-id>
答案 2 :(得分:7)
Swift 3和iOS 10 +的更新
好的,有两个简单的步骤来实现这一目标:
首先,您必须修改Info.plist
以Youtube
列出LSApplicationQueriesSchemes
。只需打开Info.plist
作为源代码,然后粘贴:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>youtube</string>
</array>
之后,您只需将https://
替换为youtube://
即可在Youtube应用程序中打开任何YouTube广告网址。这是一个完整的代码,您可以将此代码链接到您作为操作的任何按钮:
@IBAction func YoutubeAction() {
let YoutubeQuery = "Your Query"
let escapedYoutubeQuery = YoutubeQuery.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)
let appURL = NSURL(string: "youtube://www.youtube.com/results?search_query=\(escapedYoutubeQuery!)")!
let webURL = NSURL(string: "https://www.youtube.com/results?search_query=\(escapedYoutubeQuery!)")!
let application = UIApplication.shared
if application.canOpenURL(appURL as URL) {
application.open(appURL as URL)
} else {
// if Youtube app is not installed, open URL inside Safari
application.open(webURL as URL)
}
}
答案 3 :(得分:3)
如果支持的YouTube应用程序搜索URL方案,则没有详细记录(并且可能很脆弱)。您可以使用以下方式直接打开YouTube应用:
youtube://
您可以使用以下方式播放特定视频:
http://www.youtube.com/watch?v=VIDEO_IDENTIFIER
我通过直接查询列表来解决这个问题,并在webview中显示结果。理想情况下,您不想复制YouTube应用程序(毕竟应用程序商店已经存在一个),因此最好在其他路径中找到特定的视频标识符。
答案 4 :(得分:3)
可以使用
打开vnd.youtube:///
(注意设置了三个斜杠)
答案 5 :(得分:2)
您可以这种方式打开YouTube iOS应用:
<强>画强>
<a href="youtube://dQw4w9WgXcQ">Open in YouTube</a>
<a href="youtube://watch?v=dQw4w9WgXcQ">Open in YouTube</a>
用户和频道
目前不可能。 (来源:广泛测试。)
<强>播放列表强>
未知/未测试
答案 6 :(得分:2)
如果您想使用搜索查询打开YouTube iOS应用,请使用以下语法:
youtube:///results?q=search%20query
(用不带引号的搜索字词替换search%20query
)
注意:上面的语法有三个斜杠而不是两个。
(自20160420起作业)
答案 7 :(得分:2)
对于 iOS 11 ,这应该有效:
youtube://www.youtube.com/<channel-id>
答案 8 :(得分:1)
根据最新的Apple开发者文档,无法使用youtube:// url方案打开youtube,而应该如下面的链接所示。
答案 9 :(得分:0)
要打开从网页(Safari或任何浏览器)在应用程序中打开的Youtube链接,并且这也适用于从javascript函数打开,您需要向Youtube发送适当的表单查询:
maillist = ["john.doe@dom", "john2.doe", "john3.doe.e","john4.doe.extern@dom"]
for i in range(len(maillist)):
if "@" not in maillist[i]:
if maillist[i][-2:]== ".e":
maillist[i] += ("xtern@dom")
else:
maillist[i] += "@dom"
这是针对移动网站的。对于普通浏览器,将“'https://m.youtube.com/watch?v=”更改为“'https://youtube.com/watch?v=”
如果您需要链接或按钮,只需将输入类型更改为button。
编辑:自IOS和YT的最新更改以来,此方法不再适用于iPhone。仍在寻找一种通过脚本打开Youtube APP的方法,而无需浏览器询问是或否。