iOS8模拟器用户代理

Eli*_*zaS 6 uiwebview ios-simulator ios8

在调查iOS8 webview上我有错误的原因时,我发现WebView的User-Agent是:

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

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

所以你有一个解决方案,如何发现它是否是iOS8模拟器

现在这是我的javascript方法:

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

Jer*_*oia 1

此问题已在 iOS 8.3 Simulator Runtime 中修复。该版本和较新的版本不再受此问题的困扰。

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