2014-10-05 61 views
6

在调查为什么我有iOS8上的WebView我发现的WebView用户代理是一个错误:iOS8上的模拟器用户代理

的Mozilla/5.0(iPhone; CPU iPhone OS 10_9_5,例如Mac OS X)为AppleWebKit/600.1.4 (KHTML,例如Gecko)手机/ 12A365(2072607680)

然而,因为我在竞选iOS8上,它更应该是:

的Mozilla/5.0(iPhone; CPU iPhone OS 8_0_2,例如Mac OS X)为AppleWebKit /600.1.4(KHTML,如Gecko)Mobile/12A405kalturaNativeCordovaPlayer(350612576)

当然,目前还没有运行10.10版本的iPhone,因此Xcode6以某种方式从Mac OS X中获取版本。对于iOS的iOS <模拟器,它工作得很好。

那么你有一个解决方案,我现在该怎么这是我的JavaScript方法发现,如果它是iOS8上的模拟器或不

为:

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

回答

1

此问题已修复了iOS 8.3模拟器运行。该版本和更新版本不再受此问题的困扰。

如果您确实需要确定您是在iOS 8上运行,但建议您查找“iPhone OS”和“AppleWebKit/600.1.4”子字符串,但您应该不会以这种方式解决问题。相反,您可能最好根据功能而不是版本号进行确定。