问题描述:
由于APP支持iPad,在与h5做交互的时间,需要获取到当前的UA来判断当前的机型。在iOS13与在iOS13一下机型同样的代码,但是js那边获取到的UA是不同的,在iOS13以上的机型上没有获取到iPad的信息。
工具:
由于与h5那边联调链路过长,所以在这里用到了一个在线检测工具网址为:https://tool.lu/useragent/
可以检测到当前机型的useragent。
检测结果是:
当WebView宽度设置超过375的时候,UA:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko)
当WebView宽度设置低于375的时候,UA:
Mozilla/5.0 (iPad; CPU OS 13_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
结论
在iOS 13以上的iPad pro 的机型上获取到UA有问题
解决方法:
在webView 用到的时间加上这一句就OK:
_webView.customUserAgent = [[NSUserDefaults standardUserDefaults] stringForKey:@"UserAgent"];