iOS 使用 WKWebView 嵌入觀看頁,顯示為 PC 觀看頁效果
更新時間:2023-03-26 20:05:59
問題描述
iOS 原生 App(iPad),使用 WKWebView 嵌入保利威 SaaS 觀看頁 https://live.polyv.cn/watch/{channeId} 後,顯示頁面為 PC 端頁面。
問題原因及解決方案
- 蘋果針對 iPad 的 userAgent 規則在 iOS 13 以後做了修改,如不做特定配置,會被識別為 PC 桌面系統,導致顯示 PC 端頁面。
- iPad 設備環境下,配置為行動端模式即可解決,具體程式碼如下:
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction preferences:(WKWebpagePreferences *)preferences decisionHandler:(void (^)(WKNavigationActionPolicy, WKWebpagePreferences *))decisionHandler {
if (@available(iOS 13, *)) {
preferences.preferredContentMode = WKContentModeMobile;
}
}
