iOS调用WebView私有API的方法

简介: WebView的私有API请查看《UIWebView体系结构(七)WebView》。 先上代码吧 - (void)modifyUA{ id webView = [aUIWebViewInstance valueForKeyPath:@"_internal.

WebView的私有API请查看《UIWebView体系结构(七)WebView》。

先上代码吧

- (void)modifyUA
{
    id webView = [aUIWebViewInstance valueForKeyPath:@"_internal.browserView._webView"];
    [webView performSelector:@selector(setCustomUserAgent:) withObject:@"Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13 "];
}

这是示例修改User Agent。获取WebView使用的是Key-Value Coding的方法,关于Path里的路径,可参考《UIWebView体系结构(一)概貌》。

为了更安全地通过apple的审查,可以这样:

- (void)modifyUA
{
    NSString *path = [@"_internal.browser" stringByAppendingString:@"View._webView"];
    id webView = [aUIWebViewInstance valueForKeyPath:path];
    NSString *selString = [@"setCustom" stringByAppendingString:@"UserAgent:"];
    SEL sel = NSSelectorFromString(selString);
    [webView performSelector:sel withObject:@"Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13 "];
}
把字符串分割再合成就ok了。


转载请注明出处:http://blog.csdn.net/hursing

目录
相关文章
|
Android开发 iOS开发
iOS 替换WebView网页图片为本地图片
iOS 替换WebView网页图片为本地图片
630 0
|
文字识别 API iOS开发
iOS小技能:iOS13 证件扫描 & 文字识别API
1. 应用场景:证件扫描、文字识别 2. 原理:利用iOS13 VNDocumentCameraViewController的证件扫描和VNRecognizeTextRequest文字识别功能进行实现
711 0
iOS小技能:iOS13 证件扫描 & 文字识别API
|
7月前
|
JSON 监控 API
小红书:对接苹果支付API满足iOS用户习惯,提升转化率
小红书集成Apple Pay可显著提升iOS用户支付体验,简化流程、增强安全、提高转化率。本文详解从开发配置、代码实现到后端验证与优化策略的全流程,助力高效落地,推动业务增长。(238字)
590 0
|
缓存 JSON API
IOS网络编程:什么是 RESTful API?如何使用 RESTful 风格设计 API?
IOS网络编程:什么是 RESTful API?如何使用 RESTful 风格设计 API?
530 3
|
小程序 Android开发
Appium微信小程序自动化之开启webview调试功能方法封装
Appium微信小程序自动化之开启webview调试功能方法封装
1123 0
|
移动开发 Android开发 iOS开发
iOS WebView长按网页里的图片识别图片中的二维码和保存图片
iOS WebView长按网页里的图片识别图片中的二维码和保存图片
iOS WebView长按网页里的图片识别图片中的二维码和保存图片
|
开发框架 JavaScript 前端开发
理解iOS端的WebView同层组件
同层组件的目标是将原生组件渲染在与其他Web组件同一层级中。在iOS中,我们使用WKWebView来创建Web视图,WKWebView在进行解析渲染时,会将Web组件渲染到WKCompositingView上,这个View是一个原生的UIView子类,通常WKWebView内核会将多个组件共同渲染到同一个WKCompositingView上,但是如果某个HTML标签的style设置了overflow: scroll属性,并且内容超出容器的大小,WKWebView就会为其单独的创建一个WKChildScrollView,因此如果我们可以找到这个View,并和对应的Web组件一一关联起来,就可以将
1872 0
|
小程序 API Android开发
小程序获取WIFI的API(IOS conncetWifi()自动跳转设置页)
小程序获取WIFI的API(IOS conncetWifi()自动跳转设置页)
992 0
|
Java 定位技术 API
java调用百度地图API根据地理位置获取经纬度
由于我们是使用百度提供的地理API接口,所以事先我们需要创建百度账号,并创建百度应用(因为我们要用应用到的ak)~~~~ 偷偷的告诉你们…这是免费的哦不要钱的…
640 0
java调用百度地图API根据地理位置获取经纬度
|
安全 Linux API
GrayLog使用HTTP JSONPath方式调用微步在线云API识别威胁IP
GrayLog使用HTTP JSONPath方式调用微步在线云API识别威胁IP
871 0
GrayLog使用HTTP JSONPath方式调用微步在线云API识别威胁IP