如何在iPadOS 13上的WKWebView中的javascript中测试正在使用的IOS

问题描述 投票:-1回答:2

[当我使用XCode 11.1在“ iPhone 8”模拟器中通过WKWebView测试我的混合应用程序,并使用Safari 13检查userAgent时,得到以下字符串:

"Mozilla/5.0 (iPhone; CPU iPhone OS 13_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148" 

但是,当我在“ iPad Pro(11英寸)”模拟器中测试该应用程序时,我发现userAgent设置为以下字符串:

"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko)"

请注意,此字符串不包含子字符串“ iPad”,也不包含正在使用的IOS版本,也不包含它是移动应用程序。

[当我的应用程序检查userAgent以确定它是否在IOS下运行时,这在iPhone上可以正常运行,但给我带来了一个问题,即现在如何在运行iPadOS 13的iPad上运行此测试。请注意,这与与网络视图的显示方式有关,与是否在javascript和目标C之间建立通信有关。

我的应用程序在所有运行IOS 12的iPad上都运行良好,因为userAgent是我所期望的:

"Mozilla/5.0 (iPad; CPU OS 12_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16B92"

现在我应该如何从Javascript内部确定我的代码是否在运行iPadOS 13或更高版本的iPad上运行?

xcode ipad ios-simulator user-agent
2个回答
0
投票

这不是任何错误。这是一项非常不错的功能,是iOS 13的新功能。默认情况下,iPad会以台式机浏览器而不是移动浏览器的形式出现。


0
投票

我可以通过多种方法解决此问题。

© www.soinside.com 2019 - 2024. All rights reserved.