2014-10-05 11 views
6

Mentre indaga il motivo per cui ho un bug su iOS 8 WebView ho scoperto che di WebView User-Agent è:user agent iOS 8 Simulator

Mozilla/5.0 (iPhone, iPhone OS CPU 10_9_5 come Mac OS X) AppleWebKit/600.1.4 (KHTML, come Gecko) mobile/12A365 (2072607680)

considerando che, essendo io corro per iOS 8, piuttosto dovrebbe essere:

Mozilla/5.0 (iPhone, iPhone OS CPU 8_0_2 come Mac OS X) AppleWebKit /600.1.4 (KHTML, come Gecko) Mobile/12A405kalturaNativeCordovaPlayer (350612576)

Naturalmente non ci sono ancora iPhone con la versione 10.10, quindi Xcode6 sta in qualche modo raccogliendo la versione da Mac OS X. Per i simulatori iOS8 iOS8 funziona perfettamente.

Quindi hai un soluzione per me come scoprire se si tratta di simulatore di iOS 8 o no

Per ora questo è il mio metodo javascript:

isIOS8 = function(){ 
    return (/OS 8_/.test(userAgent) || /Version\/8/.test(userAgent)) && isIOS(); 
}; 

risposta

1

Questo problema è stato risolto in iOS 8.3 Simulator Runtime . Quella versione e le versioni più recenti non soffrono più di questo problema.

Ti suggerisco di cercare le sottostringhe "iPhone OS" e "AppleWebKit/600.1.4" se hai davvero bisogno di determinare che stai usando iOS 8, ma probabilmente non dovresti affrontare il problema in questo modo. Invece, è meglio fare una determinazione in base alle capacità piuttosto che ai numeri di versione.