iOS 使用WKWebView嵌入观看页,显示为PC观看页效果

问题描述

iOS原生App(iPad),使用WKWebView嵌入保利威SaaS观看页 https://live.polyv.cn/watch/{channeId}后,显示页面为PC端页面

问题原因及解决方案

  1. 苹果针对iPad的userAgent规则在iOS13以后做了修改,如不做特定配置,会被识别为PC桌面系统,导致显示PC端页面

  2. iPad设备环境下,配置为移动端模式即可解决,具体代码如下:

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction preferences:(WKWebpagePreferences *)preferences decisionHandler:(void (^)(WKNavigationActionPolicy, WKWebpagePreferences *))decisionHandler {
    if (@available(iOS 13, *)) {
        preferences.preferredContentMode = WKContentModeMobile;
    }
}

Last updated