IOS открывает приложение YouTube с запросом (схемы URL)
Существует ли схема URL-адресов для открытия приложения YouTube iOS с указанным поисковым запросом?
Я пробовал:
NSString *stringURL = @"http://www.youtube.com/results?search_query=foo";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
Но это откроет Safari вместо приложения YouTube.
Ответы
Ответ 1
Вы не можете использовать этот http://www.youtube.com/results?search_query=foo
для открытия приложения YouTube. Если вы используете вышеуказанный URL-адрес, он откроет сафари вместо приложения youtube.
Для открытия приложения youtube доступно только три URL-адреса:
-
http://www.youtube.com/watch?v=VIDEO_IDENTIFIER
-
http://www.youtube.com/v/VIDEO_IDENTIFIER
-
youtube://
Ссылка: iPhoneURLScheme
Ответ 2
это отлично работает в iOS 9
youtube://www.youtube.com/channel/<channel-id>
Ответ 3
Обновление для Swift 3 и iOS 10 +
ОК, для этого есть два простых шага:
Сначала вам нужно изменить Info.plist
на список Youtube
на LSApplicationQueriesSchemes
. Просто откройте Info.plist
как исходный код и вставьте это:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>youtube</string>
</array>
После этого вы можете открыть любой URL-адрес YouTube в приложении Youtube, просто заменив https://
на 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)
}
}
Ответ 4
Если есть поддерживаемая схема URL-адреса поиска приложений YouTube, она плохо документирована (и, вероятно, будет хрупкой). Вы можете напрямую открыть приложение YouTube, используя:
youtube://
Вы можете воспроизводить определенные видеоролики, используя:
http://www.youtube.com/watch?v=VIDEO_IDENTIFIER
Я бы подошел к этой проблеме, запросив список непосредственно, и либо отобразить результаты в веб-просмотре. В идеале вы не хотите копировать приложение YouTube (в конце концов, оно уже есть в магазине приложений), поэтому лучше было бы найти конкретный идентификатор видео другого пути.
Ответ 5
Его можно открыть, используя vnd.youtube:/// (обратите внимание, что три слэша установлены)
Ответ 6
Вы можете открыть приложение iOS для YouTube таким образом:
Видео
<a href="youtube://dQw4w9WgXcQ">Open in YouTube</a>
<a href="youtube://watch?v=dQw4w9WgXcQ">Open in YouTube</a>
Пользователи и каналы
Невозможно в это время. (Источник: обширное тестирование.)
Плейлисты
Unknown/Непроверено
Ответ 7
Если вы хотите открыть приложение YouTube iOS с поисковым запросом, используйте этот синтаксис:
youtube:///results?q=search%20query
(замените search%20query
поисковыми терминами без кавычек)
Примечание: приведенный выше синтаксис содержит три слэша вместо двух.
(работает с 20160420)
Ответ 8
Для iOS 11 это должно работать:
youtube://www.youtube.com/<channel-id>
Ответ 9
Согласно последней документации Apple Developer, youtube нельзя открыть, используя схему youtube://url, вместо этого она должна быть упомянута в приведенной ниже ссылке.
https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/YouTubeLinks/YouTubeLinks.html
Ответ 10
Чтобы открыть ссылку Youtube, которая открывается в приложении, с веб-страницы (Safari или любого браузера), и это также работает для открытия из функции javascript, вам необходимо отправить соответствующий запрос формы на Youtube:
<form id='form' action='https://m.youtube.com/watch?v=' method='get'>
<input type='hidden' name='v' id='v' value='XgQrzkvvOO4'>
</form>
Это для мобильных сайтов. Для обычных браузеров измените " https://m.youtube.com/watch?v= " на " https://youtube.com/watch?v= ".
Если вам нужна ссылка или кнопка, просто измените тип ввода на кнопку.
РЕДАКТИРОВАТЬ: этот метод больше не работает на iphone с момента последних изменений IOS и YT. Все еще в поисках способа открыть приложение Youtube из скрипта, без запроса браузера да или нет.