it-swarm.com.de

iOS-offene YouTube-App mit Abfrage (URL-Schemata)

Gibt es ein URL-Schema zum Öffnen der YouTube iOS-App mit einer angegebenen Suchabfrage?

Ich habe es versucht:

NSString *stringURL = @"http://www.youtube.com/results?search_query=foo";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Dadurch wird jedoch Safari anstelle der YouTube-Anwendung geöffnet.

12
1b0t

Sie können diesen http://www.youtube.com/results?search_query=foo nicht zum Öffnen der YouTube-App verwenden. Wenn Sie die oben genannte URL verwenden, wird die Safari anstelle der YouTube-App geöffnet.

Es gibt nur drei URLSchemes zum Öffnen der YouTube-App:

  • http://www.youtube.com/watch?v=VIDEO_IDENTIFIER
  • http://www.youtube.com/v/VIDEO_IDENTIFIER
  • youtube://

Referenz: iPhoneURLScheme

20
Midhun MP

dies funktioniert gut in iOS 9

youtube://www.youtube.com/channel/<channel-id>

12
Vaibhav Saran

Update für Swift 3 und iOS 10+

OK, es gibt zwei einfache Schritte, um dies zu erreichen:

Zuerst müssen Sie Info.plist ändern, um Youtube mit LSApplicationQueriesSchemes aufzulisten. Öffnen Sie einfach Info.plist als Quellcode und fügen Sie diesen ein:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>youtube</string>
</array>

Danach können Sie eine beliebige Youtube-URL in der Youtube-Anwendung öffnen, indem Sie einfach https:// durch youtube:// ersetzen. Hier ist ein vollständiger Code. Sie können diesen Code mit jeder Schaltfläche verknüpfen, die Sie als Aktion verwenden:

@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)
    }

}
7
Ibrahim

Wenn es ein unterstütztes Suchschema für YouTube-Anwendungssuch-URLs gibt, ist es nicht gut dokumentiert (und ist wahrscheinlich fragil). Sie können die YouTube-App direkt öffnen, indem Sie Folgendes verwenden:

youtube://

Sie können bestimmte Videos abspielen mit:

http://www.youtube.com/watch?v=VIDEO_IDENTIFIER

Ich gehe dieses Problem an, indem ich die Liste direkt abfrage und die Ergebnisse entweder in einem Webview anzeigen. Idealerweise möchten Sie die YouTube-App nicht replizieren (es gibt immerhin schon eine im App Store). Daher ist es besser, die spezifische Video-ID auf einer anderen Route zu finden.

3
David Doyle

Es kann mit geöffnet werden 

vnd.youtube:///

(Beachten Sie, dass drei Schrägstriche gesetzt sind)

3
Aldo Aguirre

Wenn Sie die YouTube iOS-App mit einer Suchabfrage öffnen möchten, verwenden Sie diese Syntax:

youtube:///results?q=search%20query

(Ersetzen Sie search%20query durch Suchbegriffe ohne Anführungszeichen)

Hinweis: Die obige Syntax enthält drei statt zwei Schrägstriche.

(Arbeitet ab 20160420)

2
Brett

Für iOS 11 sollte dies funktionieren:

youtube://www.youtube.com/<channel-id>
2
Musa almatri

Du kannst die YouTube iOS App auf diese Weise öffnen:

Videos

<a href="youtube://dQw4w9WgXcQ">Open in YouTube</a>
<a href="youtube://watch?v=dQw4w9WgXcQ">Open in YouTube</a>

Benutzer und Channels

Derzeit nicht möglich. (Quelle: umfangreiches Testen.)

Wiedergabelisten

unbekannt/nicht getestet

2
Jay

Laut der neuesten Apple-Entwicklerdokumentation kann youtube nicht mit dem URL-Schema youtube: // geöffnet werden. Stattdessen sollte es so sein, wie es unter dem folgenden Link angegeben ist.

https://developer.Apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/YouTubeLinks/YouTubeLinks.html

1
Sridhar S

Um einen Youtube-Link zu öffnen, der in der App, von einer Webseite (Safari oder einem beliebigen Browser) aus geöffnet wird, und dies auch für das Öffnen über eine JavaScript-Funktion möglich ist, müssen Sie eine ordnungsgemäße Formularabfrage an Youtube senden:

<form id='form' action='https://m.youtube.com/watch?v=' method='get'>
<input type='hidden' name='v' id='v' value='XgQrzkvvOO4'>
</form>

Dies ist für mobile Websites. Für normale Browser ändern Sie "" https://m.youtube.com/watch?v= "in" " https://youtube.com/watch?v= ".

Wenn Sie einen Link oder eine Schaltfläche benötigen, ändern Sie einfach den Eingabetyp in die Schaltfläche.

BEARBEITEN: Diese Methode funktioniert auf dem iPhone seit den letzten Änderungen IOS und YT nicht mehr. Suchen Sie immer noch nach einer Methode, um die Youtube APP über ein Skript zu öffnen, ohne vom Browser gefragt zu werden (Ja oder Nein).

0
OhioStateB