From 7c9810ddf066f2f91826b22ca5dc58e9fcb52ec2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toni=20F=C3=B6rster?= Date: Mon, 20 May 2024 16:03:13 +0200 Subject: [PATCH] tvOS does not support WebKit --- Shared/UserAgentManager.swift | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Shared/UserAgentManager.swift b/Shared/UserAgentManager.swift index 378dd2fb..247965ba 100644 --- a/Shared/UserAgentManager.swift +++ b/Shared/UserAgentManager.swift @@ -1,28 +1,37 @@ import Logging +#if !os(tvOS) import WebKit +#endif final class UserAgentManager { static let shared = UserAgentManager() private(set) var userAgent: String + #if !os(tvOS) private var webView: WKWebView? + #endif private init() { - // In case an error occurs while retrieving the actual User-Agent, - // we set a default User-Agent value that represents a commonly used User-Agent. - userAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" + /* + In case an error occurs while retrieving the actual User-Agent, and on tvOS, + we set a default User-Agent value that represents a commonly used User-Agent. + */ + userAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" + #if !os(tvOS) webView = WKWebView() webView?.evaluateJavaScript("navigator.userAgent") { [weak self] result, _ in if let userAgent = result as? String { DispatchQueue.main.async { self?.userAgent = userAgent Logger(label: "stream.yattee.userAgentManager").info("User-Agent: \(userAgent)") - print("User-Agent updated: \(userAgent)") } } else { Logger(label: "stream.yattee.userAgentManager").warning("Failed to update User-Agent.") } } + #else + Logger(label: "stream.yattee.userAgentManager.tvOS").info("User-Agent: \(userAgent)") + #endif } }