2016-09-29 4 views
1

Ich verwende YTPlayerView Youtube API, um Videos in meiner App zu unterstützen.Youtube-API für iOS unterstützt seit iOS 10 nicht mehr Landscape?

Bis zur Veröffentlichung von iOS10 hat meine App das Video korrekt auf Landscape umgestellt, als das Video im Vollbildmodus lief und das Gerät rotierte.

Seit ich auf iOS10 aktualisiert habe, rotiert das Video nicht mehr mit dem Gerät, dies kann im Simulator reproduziert werden (funktioniert mit iOS 9, funktioniert nicht mehr mit iOS 10).

Meine App unterstützt nur den Hochformat-Modus, aber ich konnte Vollbild-Videos im Vollbildmodus auf Querformat umstellen.

Irgendwelche Tipps? Dank

+0

Ich denke, nur ein Googler kann Ihnen damit antworten. Ich sehe keine aktualisierte Version zu diesem Problem, die Sie in der [Daten-API] (https://developers.google.com/youtube/v3/revision_history) und [IOS Helper] (https: // developers) sehen können. google.com/youtube/v3/guides/ios_youtube_helper#best-practices-and-limitations). Wenn Sie glauben, dass dies ein Fehler ist, versuchen Sie [Ticket] (https://code.google.com/p/gdata-issues/issues/list?q=label:APi-YouTube) zu diesem Problem. – KENdi

Antwort

1

Aufgrund der Art und Weise der Orientierungsmodus in iOS behandelt wird, 10 Sie haben folgende Möglichkeiten:

„Politisch“ -correct Lösung

1) erlauben, Ihre Anwendung in allen zu sein die Ausrichtungsmodi im info.plist

2) überall die Landschaft nicht zulassen

die hacky Lösung

Ihr AppDelegate wird jedes Mal aufgerufen, wenn Sie Ihr Telefon hinsichtlich der unterstützten Ausrichtungen für das jeweilige Fenster drehen. Wenn Sie also feststellen können, dass der View-Controller im "aktuellen Fenster" der Youtube-Video-View-Controller ist, können Sie alle Ausrichtungen zurückgeben, andernfalls geben Sie portret zurück.

func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask { 
    guard let topController = window?.topController() else { 
     return application.supportedInterfaceOrientations(for: window) 
    } 

    let className = NSStringFromClass(type(of: topController)) 
    let hackyViewControllers = ["avfullscreenviewcontroller"] 

    if hackyViewControllers.contains(className.lowercased()) { 
     return .allButUpsideDown 
    } else { 
     return .portrait 
    } 
    } 

**, wie Sie können wir für AVFullScreenViewController überprüfen, was genau ist die UIViewController Unterklasse verantwortlich für YouTube-Videos in Vollbild angezeigt werden.

Verwandte Themen