【发布时间】:2020-02-17 19:37:43
【问题描述】:
当我使用 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 上运行此测试。请注意,这没什么与web view如何显示有关,就是javascript和Objective 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