首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS 12 WKWebview set customUserAgent不工作吗?

iOS 12 WKWebView的set customUserAgent方法在某些情况下可能无法正常工作。customUserAgent是用于设置WKWebView的自定义用户代理字符串,以便在网络请求中标识应用程序的身份。

然而,iOS 12中的WKWebView在某些情况下可能会忽略set customUserAgent的调用,导致自定义用户代理字符串无法生效。这可能是由于iOS 12中的一些bug或限制所致。

解决这个问题的一种方法是使用HTTP请求头来模拟自定义用户代理字符串。通过在请求头中添加"User-Agent"字段,并将其值设置为所需的自定义用户代理字符串,可以实现类似的效果。

以下是一个示例代码片段,演示如何使用HTTP请求头来设置自定义用户代理字符串:

代码语言:swift
复制
import WebKit

let configuration = WKWebViewConfiguration()
let webView = WKWebView(frame: .zero, configuration: configuration)

if #available(iOS 12.0, *) {
    webView.customUserAgent = "Your Custom User Agent"
} else {
    if let url = URL(string: "https://your-website.com") {
        var request = URLRequest(url: url)
        request.setValue("Your Custom User Agent", forHTTPHeaderField: "User-Agent")
        webView.load(request)
    }
}

在上述代码中,我们首先检查设备的iOS版本。如果设备运行的是iOS 12及以上版本,我们尝试使用set customUserAgent方法来设置自定义用户代理字符串。否则,我们创建一个带有自定义请求头的URLRequest,并使用load方法加载该请求。

需要注意的是,这种方法只是一种绕过iOS 12 WKWebView set customUserAgent不工作的临时解决方案。在将来的iOS版本中,这个问题可能会得到修复。因此,建议在使用这种方法时,密切关注iOS版本的更新,并及时调整代码。

对于更多关于WKWebView的信息,您可以参考腾讯云的产品文档:WKWebView

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

记使用WKWebView修改user-agent在iOS 12踩的一个坑

随着摒弃了对iOS老系统的支持,项目也开始逐步开始转向WKWebView,本想着新系统应该能填一些WKWebView的坑,结果发现还是还是坑不断,这次在iOS12又遇到一个神坑。...在iOS 10/11上面,这段代码执行都好好的,并且也没什么问题。结果现在在iOS 12beta版本里面突然生效了,自己追加的userAgent没有添加成功。..._0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko)) 所以,这种设置userAgent的方法在iOS 12生效的,猜测原因应该是一旦实例化一个...WKWebView并且调用了evaluateJavaScript: 更新其userAgent生效。...但是一旦我们刷新下当前web页面,即调用webview的reload方法,这个customUserAgent就生效了。所以这应该是苹果iOS12系统的一个bug。

9.6K50

分享超详细 WKWebView 开发和使用经验

根据需求需要将老项目中的 WebView 替换成 WKWebView,期间查阅了不少文档和资料,之前也发布了几篇 WKWebView 相关的优秀文章。...WKWebView 几个不常用的特性 WKWebview 加载过程中的性能指标图解 WKWebview 秒开的实践及踩坑之路 今天分享的这篇文章全面的介绍了 WKWebView,作者根据开发和使用经验从属性...allowsBackForwardNavigationGestures: 允许手势交互进行页面导航跳转 customUserAgent: 自定义 Web 页面的 UserAgent,会覆盖容器原有的 User-Agent...Ajax 请求不会带上 Response 中 Set-Cookie 的值 302 跳转不会带上 Response 中 Set-Cookie 的值 可以使用 iOS11 的新 API 对 WKWebView...iOS 13 新增方法 contextMenu 的处理方法 contextMenu 的相关处理方法,暂时不理解在手机端有何用处。 FAQ WKWebView 中 H5 css 动画失效的问题?

4.6K30

Hybrid App 应用 开发中 9 个必备知识点复习(WebView 调试 等)

一、iOS 平台中 UIWebView 与 WKWebView 有什么区别?...js 的交互; 注意: 大多数App需要支持 iOS7 以上的版本,而 WKWebView 只在 iOS8 后才能用,所以需要一个兼容性方案,既 iOS7 下用 UIWebView ,iOS8 后用...中,而在 iOS 10 上,JS 执行 document.cookie 或服务器 set-cookie 注入的 Cookie 会很快同步到 NSHTTPCookieStorage 中,FireFox...解决办法1: WKWebView loadRequest 前,在 request header 中设置 Cookie, 解决首个请求 Cookie 带上的问题; 解决办法2: 通过 document.cookie...这两者都是强大的抓包工具,原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改。

3.1K00

【Hybrid】288- Hybrid App 应用开发中 9 个必备知识点复习

一、iOS 平台中 UIWebView 与 WKWebView 有什么区别?...不过苹果在 iOS8 以后推出了 WKWebView 来加载 Web,并应用于 iOS 和 OSX 中,它取代了 UIWebView 和 WebView ,在两个平台上支持同一套 API。...: 大多数App需要支持 iOS7 以上的版本,而 WKWebView 只在 iOS8 后才能用,所以需要一个兼容性方案,既 iOS7 下用 UIWebView , iOS8 后用 WKWebView...中,而在 iOS10 上,JS 执行 document.cookie 或服务器 set-cookie 注入的 Cookie 会很快同步到 NSHTTPCookieStorage 中,FireFox 工程师曾建议通过...这两者都是强大的抓包工具,原理是以web代理服务器的形式进行工作的,使用的代理地址是: 127.0.0.1,端口默认为 8888,我们也可以通过设置进行修改。

2.3K20

WKWebView详解

iOS 8.0和OS X 10.10开始,建议使WKWebView在应用程序中展示web内容,建议不要使用UIWebView或WebView。...9.0+自定义User Agent @property(nonatomic, copy) NSString *customUserAgent; 如果不想自定义User Agent,设为nil即可 iOS...该动作会将应用程序切换到Safari 如果您想在iOS中支持链接预览,但又想要在应用程序中保留用户,那么您可以将WKWebView类转换为SFSafariViewController类 如果您使用WebView...Safari,只是你需要做一些额外的适配工作 后退 - (WKNavigation *)goBack; 即在前进后退列表中导航到上一个记录 返回一个新的WKNavigation对象 如果没有记录可以后退...WKDataDetectorTypes WKDataDetectorTypeNone 执行检测 WKDataDetectorTypePhoneNumber 电话号码 WKDataDetectorTypeLink

20.2K193

Hybrid App 应用开发中 9 个必备知识点复习

一、iOS 平台中 UIWebView 与 WKWebView 有什么区别?...不过苹果在 iOS8 以后推出了 WKWebView 来加载 Web,并应用于 iOS 和 OSX 中,它取代了 UIWebView 和 WebView ,在两个平台上支持同一套 API。...js 的交互; 注意: 大多数App需要支持 iOS7 以上的版本,而 WKWebView 只在 iOS8 后才能用,所以需要一个兼容性方案,既 iOS7 下用 UIWebView , iOS8...中,而在 iOS10 上,JS 执行 document.cookie 或服务器 set-cookie 注入的 Cookie 会很快同步到 NSHTTPCookieStorage 中,FireFox 工程师曾建议通过...这两者都是强大的抓包工具,原理是以web代理服务器的形式进行工作的,使用的代理地址是: 127.0.0.1,端口默认为 8888,我们也可以通过设置进行修改。

2.6K20

Hybrid App 应用开发中 9 个必备知识点复习

一、iOS 平台中 UIWebView 与 WKWebView 有什么区别?...不过苹果在 iOS8 以后推出了 WKWebView 来加载 Web,并应用于 iOS 和 OSX 中,它取代了 UIWebView 和 WebView ,在两个平台上支持同一套 API。...: 大多数App需要支持 iOS7 以上的版本,而 WKWebView 只在 iOS8 后才能用,所以需要一个兼容性方案,既 iOS7 下用 UIWebView , iOS8 后用 WKWebView...中,而在 iOS10 上,JS 执行 document.cookie 或服务器 set-cookie 注入的 Cookie 会很快同步到 NSHTTPCookieStorage 中,FireFox 工程师曾建议通过...这两者都是强大的抓包工具,原理是以web代理服务器的形式进行工作的,使用的代理地址是: 127.0.0.1,端口默认为 8888,我们也可以通过设置进行修改。

2.3K30

iOS狗都不要,用这份面试真题,21天拿了4个大厂Offer

偏移地址,分类,初始化) 15、直播、介绍一下直播的流程,从视频录制到另一台手机看见的流程 16、判断链表是否有环 17、iOS中数组的多读单写 18、iOS如何做hook 19、Uni-app介绍了一下...3、 http/https的工作过程和区别、它们属于五层中的哪一层 4、 三次握手的原理 5、get/put/post/delete请求方式 6、 项目里面你做了什么性能优化和启动改造 7、 为什么WKWebview...等等 7、 后台返回的数据是多少K的,大文件传输怎么办 8、数据库的一些操作 9、iOS存储方式 10、TCP/IP协议 11、ARC引用计数、内存管理几个区域 12、OC的基础数据类型 13、说一说多线程...13、wkwebview与uiwebview的区别 智慧丘比特 1、 categroy的工作原理和需要注意的事项?...你现在的代码还能看到autoreleasepool么 9、sdwebimage 给一个图片到屏幕展示,是如何工作的 10、为什么使用sdweimage的过程中,卡 11、给你一个url,到服务器返回一个

1.4K20

WKWebView 那些坑

:(WKWebView *)webView API_AVAILABLE(macosx(10.11), ios(9.0)); 当 WKWebView 总体内存占用过大,页面即将白屏的时候,系统会调用上面的回调函数...中,而在 iOS 10 上,JS 执行 document.cookie 或服务器 set-cookie 注入的 Cookie 会很快同步到 NSHTTPCookieStorage 中,FireFox...前,在 request header 中设置 Cookie, 解决首个请求 Cookie 带上的问题; WKWebView * webView = [WKWebView new]; NSMutableURLRequest...实际上,即便在 UIWebView 上也建议直接调整webView.scrollView.contentInset的值,这确实会带来一些奇怪的问题。...在接入 now 直播的时候,我们发现在 iOS 9 上 WKWebView 会出现页面被拉伸变形的情况,最后发现是window.innerHeight值不准确导致(在WKWebView上返回了一个非常大的值

4.5K130

iOS 12.0 WebView键盘弹出,关闭后界面没有回收的问题

iOS 12.0 WebView键盘弹出,关闭后界面没有回收的问题 背景 公司有人反馈,iOS 12.0的手机上,H5页面有个地方键盘弹出了,关闭之后,再次点击输入框,没有反应了,其实是界面上移了之后,...; } 于是笔者再次尝试修改: 参考iOS12 WKWebView出现input 键盘页面上顶不下移解决方法,在H5界面监听键盘弹出和收起,在收起时,对webview的scrollview做偏移处理...,设置后,发现对笔者的项目来说仍旧生效,笔者的项目同一个网页上有多个可输入的地方,且有在弹出框输入的操作。...scrollHeight - 1, 0));}, 300);"; [self.web evaluateJavaScript:jsStr completionHandler:nil]; } 参考 iOS12...WKWebView出现input 键盘页面上顶不下移解决方法 ios 微信webview在键盘关闭后,没有自动回退页面

2.5K20

🤔 一文搞懂前端兼容问题

前段时间因工作需要对部分语言/浏览器特性重点关注了一下,以此文做一下记录。 本文主要记录了移动端的版本适配问题,未对桌面端做更多的研究,后面有可能补充相关内容。...另外一个问题是,有一定 C 端开发经验的开发者可能还会关注 iOS 上运行的是 UIWebView 还是 WKWebView,在 2022 年这个时间点其实已经不需要关注了,因为 Apple Store...已经发过公告[4],2020 12 月之后已经禁止含 UIWebView 的 APP 上架了,所以 iOS 平台只有 WKWebView 这一个 WebView 了,而且它兼容性也不错[5],最低支持到...从 App Store/Android 应用商店/浏览器 UA 上看,我们可以得处以下结论(截止到 2022-8-8): 微信:最低支持到 iOS 12、Android 5、内置浏览器版本为 Chrome...或 Android 4,除了在最低版本上跑起来,还要平白无故的多了许多语法转换和 polyfill,在 构建速度/运行时性能/产物体积 上都会产生不必要的劣化。

83940

iOS开发----JavaScriptCore、UIWebView及WKWebView交互的那些事

参与工作时间比较长了,随着 Web前端行业的发展(大家都懂得..),客户端与 Web端的交互也越来越频繁。...分别使用 UIWebView 以及 WKWebView 实现效果如下: JavaScriptCore 类库里面有12个类(还有两个是负责导入相关类的头文件以及一个关于WebKit的宏定义);在基本的交互过程中...JSValue 可以理解成 一种供iOS数据结构与JS数据结构相互转换的包装,也可以看成一种桥接关系,我们执行JS获取的结果就是通过JSValue对象进行包装传给客户端进行处理的,类型转换官方文档描述如下...,WKWebView是获取JSContext的,那咋办?...没关系,WKWebView提供给了我们非常便利的交互,不详细说了!

1.4K20

小白必看,JSBridge 初探

WKWebview 提供了 window.webkit.messageHandlers 方法,支持 iOS 8.0 及以上系统。UIWebview 在几年前常用,目前已不常见。...evaluateJavascript 方法效率高获取返回值方便,调用时候刷新WebView,但是只支持 Android 4.4+。...在 WKWebview 中可以通过 evaluateJavaScript:javaScriptString 来实现,支持 iOS 8.0 及以上系统。...希望开始能折腾事;如果你想改变一直被告诫需要多些想法,却无从破局;如果你想改变你有能力去做成那个结果,却不需要你;如果你想改变你想做成的事需要一个团队去支撑,但没你带人的位置;如果你想改变既定的节奏,将会是“5 年工作时间...3 年工作经验”;如果你想改变本来悟性不错,但总是有那一层窗户纸的模糊… 如果你相信相信的力量,相信平凡人能成就非凡事,相信能遇到更好的自己。

2.5K10
领券