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>

Ответ 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 из скрипта, без запроса браузера да или нет.