iOS - 让WKWebView 支持 NSURLProtocol】的更多相关文章

iOS8以后,苹果推出了新框架Webkit,提供了替换UIWebView的组件WKWebView.各种UIWebView的问题没有了,速度更快了,占用内存少了,一句话,WKWebView是App内部加载网页的最佳选择!我们做开发最关系的是内存问题,基本上网上所有的资料都在说WKWebview的内存占用会更少,但是到底少了多少我这边做了下测试,同样是加载163的首页   使用UIWebView的内存     使用WKWebview的内存 从上图看出内存大概能优化百分之八十左右,而且从网页的滑动上也…
目前iOS已经不支持http协议了,不过可以通过info.plist设置允许 App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.…
iOS 12.2支持电信VoLTE了,中国电信教你如何开通:只要三步 link :https://baijiahao.baidu.com/s?id=1629039609897267682&wfr=spider&for=pc 苹果公司今天凌晨宣布推出News.TV+及游戏订阅服务,这次的发布会没有硬件,只有这些围绕苹果生态系统打造的服务,这也是未来苹果业务保持增长的关键,所以对苹果来说很重要.但是对国内用户来说,这次发布会就很无聊了,大部分服务国内可能无法落地,所以果粉今早起来唯一能做的事就…
这个东西呢也不能怪微信小程序,属实苹果搞的事情,那怎么小程序相关内容去通过审核呢? 首先我们要搞清楚哪些属于虚拟商品:如某某书币,某某会员,或者是提前编辑好的网课,文档等都属虚拟商品购买,简言之就是没有实体商品的交易. 那么我们怎么去整改呢,首先我们需要在app.js中调用用户的机型,如果是iphone机型的话就设置一个全局值为true: wx.getSystemInfo({ success:(res)=>{ if(res.model.indexOf('iPhone')!=-1){ this.g…
首先看看这篇文章,写得很好:http://nshipster.cn/wkwebkit/ 再推荐去看看 iOS_8_by_Tutorials 这本书里的 WKWebView相关章节! 我这里说下自己的简单体会: 1.对比UIWebView ,网上说WKWebView的效率要高,到底高多少,不清楚. 2.WKWebView将javascript的注入,以及javascript传回数据的方法标准化了.在UIWebView时代,执行javascript没什么问题,但是从javascript传回数据就麻烦…
来源:景铭巴巴 链接:http://www.jianshu.com/p/03ddcfe5ebd7 iOS H5 容器的一些探究(一):UIWebView 和 WKWebView 的比较和选择 一.前言 NSURLProtocol是iOS中URL Loading System的一部分.如果开发者自定义的一个NSURLProtocol并且注册到app中,那么在这个自定义的NSURLProtocol中我们可以拦截UIWebView,基于系统的NSURLConnection或者NSURLSession进…
这篇文章会提供一种在 Cocoa 层拦截所有 HTTP 请求的方法,其实标题已经说明了拦截 HTTP 请求需要的了解的就是 NSURLProtocol. 由于文章的内容较长,会分成两部分,这篇文章介绍 NSURLProtocol 拦截 HTTP 请求的原理,另一篇文章如何进行 HTTP Mock 介绍这个原理在 OHHTTPStubs 中的应用,它是如何 Mock(伪造)某个 HTTP 请求对应的响应的. NSURLProtocol NSURLProtocol 是苹果为我们提供的 URL Loa…
这篇文章会提供一种在 Cocoa 层拦截所有 HTTP 请求的方法,其实标题已经说明了拦截 HTTP 请求需要的了解的就是 NSURLProtocol. 由于文章的内容较长,会分成两部分,这篇文章介绍 NSURLProtocol 拦截 HTTP 请求的原理,另一篇文章如何进行 HTTP Mock(iOS) 介绍这个原理在 OHHTTPStubs 中的应用,它是如何 Mock(伪造)某个 HTTP 请求对应的响应的. NSURLProtocol NSURLProtocol 是苹果为我们提供的 UR…
首先看看这篇文章,写得很好:http://nshipster.cn/wkwebkit/ 再推荐去看看 iOS_8_by_Tutorials 这本书里的 WKWebView相关章节! 我这里说下自己的简单体会: 1.对比UIWebView ,网上说WKWebView的效率要高,到底高多少,不清楚. 2.WKWebView将javascript的注入,以及javascript传回数据的方法标准化了.在UIWebView时代,执行javascript没什么问题,但是从javascript传回数据就麻烦…
1.将Unit升级至4.6.x或5.0.x,将Vuforia差距升级到最新版本(vuforia-unity-mobile-android-ios-4-0-105 ) 2.平台Other Settings设置中将 Scripting Backend设置为:IL2CPP ,Architecture设置为:Universal 4.6及以后的版本才有. 3.在Xcode的Build Settings中 将Architectures设置为Standard architecture,Valid Archit…
最近遇到一个大坑:IPv6审核被拒问题,于是广寻解决方案,先把一些可以用资料文档收集起来备用.也希望同行能用得着. 官方文档说明:Supporting IPv6 DNS64/NAT64 Networks 官方关于支持IPv6的网络的开发指引文档 iOS-用手机网络测试Ipv6 用一台Mac,2个iPhone手机,1个数据线搭建本地IPv6测试网络环境 iOS应用支持IPV6,就那点事儿 参考官方文档的一些原理中文说明 专业处理AppStore审核问题汇总 ipv6,ipv6被拒绝,后台定位等审核…
苹果在2014年10月20号发布了一条消息:从明年的二月一号开始,提交到App Store的应用必须支持64-bit.详细消息地址为:https://developer.apple.com/news/?id=10202014a 那们我们应该如何开始着手让自己的App支持64-Bit呢? 基本知识 从iPhone 5S的A7 CPU开始到刚刚发布的iPhone 6(A8 CPU)都已经支持64-bit ARM 架构.关于64-bit的介绍详见维基百科.知乎上有很多关于苹果使用A7,A8芯片的讨论,…
苹果在2014年10月20号发布了一条消息:从明年的二月一号开始,提交到App Store的应用必须支持64-bit.详细消息地址为:https://developer.apple.com/news/?id=10202014a 那们我们应该如何开始着手让自己的App支持64-Bit呢? 基本知识 从iPhone 5S的A7 CPU开始到刚刚发布的iPhone 6(A8 CPU)都已经支持64-bit ARM 架构.关于64-bit的介绍详见维基百科.知乎上有很多关于苹果使用A7,A8芯片的讨论,…
转:  http://ios.jobbole.com/85041/ 移动端数据库新王者:realm 2016/05/14 · iOS开发 · 数据库 分享到:0 原文出处: 没故事的卓同学(@没故事的卓同学)    realm 介绍 realm是一个跨平台移动数据库引擎,支持iOS.OS X(Objective‑C和Swift)以及Android.2014年7月发布.由YCombinator孵化的创业团队历时几年打造,是第一个专门针对移动平台设计的数据库.目标是取代SQLite.为了彻底解决性能…
最近在编译支付宝 快捷支付(无线) ios 端的时候发现demo不支持arm64.在网上找了下,看到客服说是openssl的库文件不支持arm64,于是自己编译了支持arm64的库文件,发现还是不行,提示原来淘宝的库文件也不支持.问他们客服,缺迟迟不给出解决方案,到后面居然连话都不回了.. 以上都是题外话,现在来看看如何编译支持arm64的openssl吧.我是在mac os 10.9.3,xcode5.1.1下进行编译的. 先下载openssl的源文件 http://www.openssl.o…
果然是苹果打个哈欠,iOS行业内就得起一次风暴呀.自从5月初Apple明文规定所有开发者在6月1号以后提交新版本需要支持IPV6-Only的网络,大家便开始热火朝天的研究如何支持IPV6,以及应用中哪些模块目前不支持IPV6. 一.IPV6-Only支持是啥? 首先IPV6,是对IPV4地址空间的扩充.目前当我们用iOS设备连接上Wifi.4G.3G等网络时,设备被分配的地址均是IPV4地址,但是随着运营商和企业逐渐部署IPV6 DNS64/NAT64网络之后,设备被分配的地址会变成IPV6的地…
原文链接: Scroll IFRAMEs on iOS原文日期: 2014年07月02日 翻译日期: 2014年07月10日翻译人员: 铁锚 很长时间以来, iOS设备上Safari中超出边界的元素将不能滚动,处理这种问题对开发人员来说一直是种折磨. 对原文作者的博客来说,这特别让人无奈,因为demo程序都是在沙箱IFRAMEs中运行的,这是为了不影响博客网站的AJAX页面加载策略.  通过一些研究发现,只要设置两个CSS属性,以及加上一个元素,这个问题就解决了. Here we go!(译者注…
原文链接: Scroll IFRAMEs on iOS原文日期: 2014年07月02日 翻译日期: 2014年07月10日翻译人员: 铁锚很长时间以来, iOS设备上Safari中超出边界的元素将不能滚动,处理这种问题对开发人员来说一直是种折磨. 对原文作者的博客来说,这特别让人无奈,因为demo程序都是在沙箱IFRAMEs中运行的,这是为了不影响博客网站的AJAX页面加载策略.  通过一些研究发现,只要设置两个CSS属性,以及加上一个元素,这个问题就解决了. Here we go!(译者注:…
  随着H5功能愈发的强大,没进行过混合开发的小伙们都不好意思说自己能够独立进行iOS的app开发,在iOS7操作系统下,常用的native,js交互框架有easy-js,WebViewJavascriptBridge,以及结合javaScriptCore的框架. easy-js 很早的一个框架了,已经好几年没有人维护了,里面有很多隐藏很深的坑,新人如果没有用过的话,建议不要再用了.主要是js新建一个隐藏的iframe,通过拦截url的形式进行交互. WebViewJavascriptBridg…
Geosn0w在1月31日宣布推出 OsirisJailbreak12 越狱工具,是目前公开的第一个支持 iOS 12 的越狱,支持 iOS 12.0-12.1.2.项目地址:https://github.com/GeoSn0w/OsirisJailbreak12不过该版本越狱工具不完整,不能安装 Cydia,也不能安装插件. Pwn20wnd(unc0ver)在推特表示,目前为止 unc0ver V3.0.0~B27 已经支持 iOS 12 挂载root分区读写,配合 FilzaEscaped…
如何设置 Base SDK 和 iOS Deployment Target ? http://leopard168.blog.163.com/blog/static/16847184420116159138181/ 在iPhone 开发中,时常被版本所困扰, 苹果公司总会定期发布 iPhone 开发包,不是仅仅发布一个 patch, 而是整个 开发包完全更新,况且,还不支持断电续传,iOS 4.3 以后的版本, 已达 4 G 之多, 下载工作量 可想而知. 正是因为更新频繁, 我们需要搞清楚  …
Xcode8发布以后,编译器开始不支持IOS7,所以很多应用在适配IOS10之后都不在适配IOS7了,其中包括了很多大公司,网易新闻,滴滴出行等.因此,我们公司的应用也打算淘汰IOS7. 支持到IOS8,第一个要改的自然是用WKWebView替换原来的UIWebView.WKWebView有很多明显优势: 更多的支持HTML5的特性 官方宣称的高达60fps的滚动刷新率以及内置手势 将UIWebViewDelegate与UIWebView拆分成了14类与3个协议,以前很多不方便实现的功能得以实现…
1.IOS编码 参考文档地址:https://developer.apple.com/library/ios/documentation/AudioVideo/Conceptual/MultimediaPG/UsingAudio/UsingAudio.html 2.IOS解码 3.Android 编解码 参考文档地址:http://developer.android.com/guide/appendix/media-formats.html…
最近忙着搭建一个聊天用的框架,过几天应该会整理写出来吧,原理不难,但是实现后会省很多事.好久没写博客,周末心血来潮写了个图案锁,这东西没什么技术含量,网上一堆,这次这个图案锁顺便联系了怎么打包使用.a .bundle 注:支持动画.图片做触摸点,另外,打包成.a的资源包含了图片,比较大,想自定义的童鞋,可以使用未打包的,然后自己定义资源,使用颜色的,会按照默认样式绘图,不好意思,现在不支持改变样式,只能改变颜色,不过图片可以弥补这个缺陷. 先上超链接: 普通版:PLView.zip .a含资源版…
转载请注明博客地址:http://blog.csdn.net/mengxiangyue/article/details/40015727 近期在考虑数据加密方面的需求,所以对数据加密简单的看了一下,当然不是看的原理,仅仅是看看怎么可以实现.如今我们须要实现的是移动端和后台(java)数据加解密的配合,開始的时候考虑的使用RSA,由于RSA是非对称加密,更加安全点,可是RSA加密的过程中,ios公钥加密的数据,后台java是可以解密成功,可是后台java私钥加密的东西,前端ios,就没有解密成功,…
我们公司有一个页面底部用到了fixed样式,每当弹出键盘的时候,IOS下fixed就会走样(据我所知android没有该问题). 为此之前我经过产品的同意做了简单的处理(方法1). 方法一: focus的时候让fixed块position变为relative,这是最简单的处理方法. 下面是我的小demo <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf…
在WkWebView与JavaScript交互中,经常会在原生中注入MessageHandler,app中注入MessageHandler的方法 WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init]; config.userContentController = [WKUserContentController new]; //注入handler [config.userContentController a…
一,前言 有时候在WKWebView加载页面后会发现页面的字会很小, 这是因为原网页没有做手机屏幕尺寸的适配, 那么在后台不做调整的情况下我们移动端怎样来适配页面呢? 以下代码可以适配大小(原本不可以左右滑动的可能会需要左右滑动才能完整查看)  二,实现方式 - (WKWebView *)webView { if (!_webView) { _webView = [[WKWebView alloc] init]; //以下代码适配大小 NSString *jScript = @"var meta…
// 页面加载完成之后调用 - (void)webView:(WKWebView *)webView didFinishNavigation:(null_unspecified WKNavigation *)navigation { // 不执行前段界面弹出列表的JS代码 [webView evaluateJavaScript:@"document.documentElement.style.webkitTouchCallout='none';" completionHandler:n…
以前用得不多,先开一篇,以后有遇到再补充. 1.返回 2.JS 调用 OC 3.获取.修改.添加网页信息 1.返回 if (self.mWebView.canGoBack == YES) { [self.mWebView goBack]; }else{ //提示 }; 2.JS 调用 OC 2-1).添加 和 JS 约定的消息名 [self.userContentController addScriptMessageHandler:self name:@"约定的消息名"]; 2-2).…