2012-04-27 5 views
9

Ok, also habe ich mich bei den meisten anderen Problemen umgesehen, die Leute mit Vimeo bekommen, und ich glaube nicht, dass sie das gleiche Problem haben, das ich bekommen habe.Vimeo Videos spielen nicht auf dem iPad UIWebView

Wenn ich ein Vimeo-Video auf der Safari-App auf meinem iPhone und iPad öffne, funktionieren beide gut, keine Probleme.

Jetzt habe ich eine iPhone App erstellt, die ein UIWebView hat und ein Vimeo Player Video lädt und das funktioniert auch gut.

Das Problem ist, wenn ich jetzt die gleiche App auf meinem iPad installieren, weigert sich der Vimeo Player, das Video zu laden, es hängt einfach und der Spinner dreht sich weiter, aber das Video wird nicht geladen.

Aber was ich danach gemacht habe, war eine grundlegende App zu erstellen, die eine Vimeo-Player-URL in einem UIWebView als native iPad-App lädt, nicht eine iPhone-App, deren Größe angepasst wird oder "2x" für ein iPad. Überraschenderweise funktionierte das gut.

So jetzt bin ich verwirrt ... warum ist es, dass das iPad nicht das Video Vimeo spielen wird, wenn es nicht eine App für das iPad ausgeführt wird? Gibt es hinter den Kulissen eine besondere Magie, die das brechen könnte?

ich ratlos bin hier, jede mögliche Hilfe würde geschätzt werden

+0

Ich weiß, diese Frage ist Jahre alt, aber wenn jemand jetzt darüber stolpern würde: welche Versionen von iOS sind auf diesen Geräten installiert? Es gibt Probleme mit Vimeo auf iOS 9. – Richard

+0

Zum Zeitpunkt des Schreibens dieser Frage verwendeten die Apps iOS5 – Jason

Antwort

1

die Methode delegiert Implement: should dann in dem Verfahren genau das erkennen, ob die angeforderte URL vom Typ VIDEO wenn es dann ist bitte den Code angegeben in untenstehenden Link folgen, die für mich gearbeitet:

Playing a video file from server in an Iphone app

Dieses wird gut jedes Video zu spielen.

1

Das Problem ist wahrscheinlich mit dem Benutzer-Agent, der sich von Safari auf Apple-Geräten unterscheidet: UIWebView sendet eine ungültige Zeichenfolge, die Vimeo (und manchmal YouTube) zu brechen verursacht.

Luckly, werden Sie App-User-Agent mit dem folgenden außer Kraft zu setzen erlaubt (C#, lassen Sie mich wissen, wenn nicht sauber genug):

NSDictionary dictionary = NSDictionary.FromObjectAndKey(new NSString("Mozilla/5.0 (" + (UIDevice.CurrentDevice.Model.Contains("iPad") ? "iPad" : "iPhone") + "; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25"), new NSString("UserAgent")); 
NSUserDefaults.StandardUserDefaults.RegisterDefaults(dictionary); 

Dies macht die Videos einfach gut spielen.

+0

Danke für die Antwort, leider habe ich nicht die Zeit, um dies selbst jetzt zu testen, aber wenn jemand anderes kommentieren kann Das ist die richtige Lösung. Ich werde Ihre Antwort als richtig markieren. – Jason

Verwandte Themen