2012-04-27 18 views
9

Ok, quindi mi sono guardato intorno alla maggior parte degli altri problemi che le persone stanno ricevendo con Vimeo e non penso che abbiano raggiunto lo stesso problema che ho riscontrato.I video di Vimeo non sono riprodotti su iPad UIWebView

Quando apro un video Vimeo sull'app Safari sia sul mio iPhone che su iPad, entrambi funzionano bene senza problemi.

Ora ho creato un'app per iPhone con UIWebView che carica un video di Vimeo Player e funziona anche bene.

Il problema è se ora installo la stessa app sul mio iPad, il lettore vimeo si rifiuta di caricare il video, si blocca e lo spinner continua a girare ma il video non si carica.

Tuttavia, ora che cosa ho fatto dopo che è stato creare un app di base che carica un URL giocatore vimeo in un UIWebView come un app iPad nativa, non un'applicazione per iPhone che viene ridimensionato o "2x" per adattarsi a un iPad. Sorprendentemente, questo ha funzionato bene.

Quindi ora sono confuso ... perché l'iPad non riprodurrà il video di Vimeo se non sta eseguendo un'applicazione progettata per l'iPad? C'è qualche magia speciale dietro le quinte che potrebbe rompere questo?

Sono ad una perdita qui, qualsiasi aiuto sarebbe apprezzato

+0

Mi rendo conto che questa domanda è vecchia di anni, ma se qualcuno dovesse imbattersi in esso ora: quali versioni di iOS sono installate su questi dispositivi? Ci sono problemi con Vimeo su iOS 9. – Richard

+0

Al momento della stesura di questa domanda, le app utilizzavano iOS5 – Jason

risposta

1

Implementare il metodo delegato: shouldStartLoadWithRequest allora in quel metodo giusto rilevare che se l'URL richiesto è di tipo VIDEO se è allora si prega di seguire il codice menzionato al di sotto di collegamento, che ha lavorato per me:

Playing a video file from server in an Iphone app

questo sarà un bene a giocare qualsiasi video.

1

Il problema è probabile con l'agente utente che è diverso da quello di Safari sui dispositivi Apple: UIWebView invia alcune stringhe non valide che causano la rottura di Vimeo (e talvolta di YouTube).

Per fortuna, si è permesso di ignorare user agent di applicazione utilizzando la seguente (C#, fatemi sapere se non abbastanza pulito):

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); 

Questo rende i video in riproduzione più che bene.

+0

Grazie per la risposta, sfortunatamente non ho il tempo di testarlo adesso, ma se qualcun altro può commentare questa è la soluzione giusta segnerò la tua risposta come corretta. – Jason

Problemi correlati