关闭

iOS调用WebView私有API的方法

标签: iOS私有APIWebViewWebKitUser Agent
7554人阅读 评论(8) 收藏 举报
分类:

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

0
1

猜你在找
深度学习基础与TensorFlow实践
【在线峰会】前端开发重点难点技术剖析与创新实践
【在线峰会】一天掌握物联网全栈开发之道
【在线峰会】如何高质高效的进行Android技术开发
机器学习40天精英计划
Python数据挖掘与分析速成班
微信小程序开发实战
JFinal极速开发企业实战
备战2017软考 系统集成项目管理工程师 学习套餐
Python大型网络爬虫项目开发实战(全套)
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:918180次
    • 积分:9047
    • 等级:
    • 排名:第1929名
    • 原创:123篇
    • 转载:0篇
    • 译文:0篇
    • 评论:407条
    联系方式
    博客专栏
    最新评论