自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 WWDC2019 ------iOS13适配(持续更新)

第一、Web Content适配 https://developer.apple.com/videos/play/wwdc2019/511/ https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme...

2019-06-15 23:08:26 8325 1

原创 WWDC2019 ------深入理解App启动

苹果在WWDC2019专题单元讨论了APP启动-----Optimizing App Launch https://developer.apple.com/videos/play/wwdc2019/423/ 本次讨论有几大亮点: dyld3终于来了; Instruments 新增 AppL...

2019-06-12 11:54:09 907 0

原创 iOS12 bug总结(持续更新)

iOS12fix掉的问题: 第一、iOS11.3 WKWebView的多选图片功能出现了bug。我们apple的架构设计如下: rootViewController为UITabBarController,然后add了五个NavigationController,这里的bug主要的表现是:当用户...

2018-09-19 21:53:29 8687 0

原创 iOS11.3 WKWebView清除cookie所踩的坑!

我们在iOS11.3上踩了一个大坑!这个坑表现在线上的版本只要用户升级到iOS11.3且退出登录,或者登录态过期,都会闪退。因为iOS11.3支持了两个超级一线城市的公交卡,引发了用户短时间集中更新。为了解决这个问题,整个团队发一个小版本来降级这个问题的影响。问题的表现:前面说过,只要退出登录,A...

2018-04-02 00:22:22 7443 8

原创 iOS13系统升级 ------ windows下如何更新iOS的beta版本?

苹果发布了iOS13的第一个beta版本,但未提供描述文件,官方提供的升级方式可以说是变态到了极点: 第一、你需要一台Mac; 第二、Mac需要升级到Mac 10.15版本; 第三、你需要有一个开发者账号; 抛开以上硬件的要求,安装的整个流程也是烦的要死。今天,我们安利一种直接在window...

2019-06-18 14:22:19 1400 0

原创 可怕的KCFErrordomainCFNetWork 303

任何恐惧都来源于不了解。 最近发现了一个问题,有用户反馈,整个APP里面所有的h5页面全部打不开,这个结果无疑是恐怖的,因为我们的APP,从产品详情到收银台,从促销页面到会员服务都是h5,全站打不开的结果当然是恐怖的。通过查看用户日志,发现webview报了一个很固定的错误: NSCoc...

2019-05-31 23:33:55 4849 0

原创 WebKit 20问

webkit是时下最流行的浏览器内核,作为Safari和iOS的wkwebview的内核,分析其源码,可以很好的了解浏览器的机制,并为h5的开发提供一些建设性的建议。本系列文章将深入分析webkit的一些常见的机制,以期抛砖引玉。 第一、WKWebView白屏为何物? ...

2019-05-16 18:54:06 107 0

原创 iOS基础---OC RunLoop篇

RunLoop注意点: 第一、线程安全问题: OSX/iOS 系统中,提供了两个这样的对象:NSRunLoop 和 CFRunLoopRef。 CFRunLoopRef 是在 CoreFoundation 框架内的,它提供了纯 C 函数的 API,所有这些 API 都是线程安全的。 NSRun...

2019-05-16 17:44:41 61 0

原创 如何架构一个webview?

这里我们先附一张整体的思维图,其中每个分支都可以作为一个专题来说,后续我们逐步展开。 前言 WebView的定位:对于任何一个应用,根据业务的不同类型,webview的重要性也不一样,如音乐类、视频类应用,其h5相关的业务很少,只用于简单的广告引流等场景;但是对于电商等应用,各种促销活...

2019-05-14 18:06:24 119 0

原创 iOS基础---OC runtime篇二之对象dealloc后发生了什么?

对象的dealloc调用后发生了什么? 本文对应的源码见:https://github.com/huangturen/objc-runtime 第一、最简单的类(没有任何成员变量,没有任何引用的类)其dealloc的过程为何? 我们创建一个类TestObject1,使其继承自NSObject...

2019-05-11 00:22:29 213 0

原创 iOS基础---OC runtime篇零之优秀文章集锦

第零篇---------巨人的肩膀 本篇我们收集优秀的关于runtime相关的文章,持续更新: 一、你不知道的TaggedPointer: https://www.jianshu.com/p/eee8cd705f0a 文章清晰的描述了TaggedPointer的机制,对初次阅读runtim...

2019-05-10 23:50:25 60 0

原创 iOS基础---Block朝花夕拾

Block是总最常用的iOS特性之一,常见的问题相信大家都知道,这里我们列一些不太常见的情形。 第一、block无法捕获C语言数组,如果想捕获C语言的数组,需要使用指针; 如: const char text[] = "hello"; void...

2019-04-28 22:52:49 61 0

原创 iOS基础---OC runtime篇一之基本概念

OC的runtime是基于C语言实现的objective-C 的动态运行时机制,是iOS开发者最基础的知识,虽然互联网上相关的介绍多如牛毛,但是这种最基础的机制,每个开发者都需要有自己的理解与整理。 基本概念 第一、struct和union 由于runtime是基于C实现的,里面有大量的C预...

2019-04-20 17:40:40 161 0

原创 [NSDate distantPast]与[NSDate distantFuture]分别是什么意思?

今天被问到了这个问题,虽然对问题进行了答复,但是事后感觉还是没有描述清楚该问题,这里整理一下这个小问题: [NSDate distantPast]:表示过去的某个不可达到的事件点 [NSDate distantFuture]:表示未来的某个不可达到的事件点 以上是回答的原话,但更直接的描述我...

2019-02-01 18:24:34 1998 0

原创 Unknown type name 'CVMetalTextureCacheRef on iOS Simulator

今天在撸一个项目的时候,突然发现了如题的问题,问题很小,但是很多时候大家第一时间都反应不过来,特此mark一下这个问题。   CVMetalTextureCacheRef是CoreVideo Framework中的指针,从命名看,此指针和Metal相关联,Metal是Apple深度定制的GPU...

2019-01-31 18:56:22 374 0

原创 CoreML之VNImageCropAndScaleOption

苹果对CoreML框架封装的Vision,极大程度的简化了输入,特别是图片的输入,Vision可以接受任何大小的图片,然后自动将其自动截取到模型要求的大小,这就是VNImageCropAndScaleOption的功能。 今天我们来聊一聊VNImageCropAndScaleOption,其对预...

2019-01-23 21:47:12 262 0

原创 如何实现webview内页面放大和缩小(捏合手势)

前面曾看到一篇文章在讨论京东的图文详情页内如何实现捏合放大和缩小功能,作者在原生层面通过各种注入实现了这一功能。其实这是画蛇添足的做法,这一功能的实现完全没有必要在原生层面进行,只需要h5略作设置即可,具体如下: h5在head中设置viewport时添加user-scalable=0,即可禁止...

2019-01-14 15:32:31 1621 0

原创 WKWebView 如何支持window.open方法

window.open是js新开页面的一种方法,本质上是为了在PC上支持直接新开页面,但是移动端也是支持该方法的,只是处理方式上并没有让它扮演新开窗口的任务,通过window.open打开的页面链接其实还是在当前webview内进行加载。iOS平台UIWebView默认支持了这一js命令,但是WK...

2018-12-01 19:09:49 2559 0

转载 KVC 和 KVO

原文:https://www.objc.io/issues/7-foundation/key-value-coding-and-observing/ 中文译文:https://objccn.io/issue-7-3/ 本文是截止目前我看到的最好的KVO,KVC的文章,特此mark一下 Key...

2018-11-24 21:35:43 119 0

原创 人工智能----机器学习基础

第一、弱监督学习 监督学习、非监督学习、半监督学习这些概念都比较好理解且常见。何为弱监督学习? 看起来就是指样本有标记,可能不止一个,还可能不正确,其训练的目的是为了将结果往好的标记上靠。感觉是非监督学习的样本上加了一些有意义的杂质。   第二、模型质量评价 这里需要记住以下几点: 1...

2018-11-20 22:19:04 127 1

转载 (转)深入理解 CocoaPods

原文地址:https://objccn.io/issue-6-4/   CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具。利用 CocoaPods,可以定义自己的依赖关系 (称作 pods),并且随着时间的变化,以及在整个开发环境中对第三方库的版本管理非常...

2018-11-11 20:09:39 57 0

原创 人工智能之一----数学基础

一、前言 应原作者要求,后续文章中将不会出现深度学习500问相关的东西!!!如有,也会通过引用注明出处!   二、张量的概念 对深度学习有了解的同学一定知道TensorFlow,对TensorFlow想有一个比较深入的理解,第一个碰到的概念就是Tensor,即张量。老实说,深度学习500问...

2018-11-07 23:49:07 955 4

转载 漫谈iOS Crash收集框架

转:https://nianxi.net/ios/ios-crash-reporter.html 本文描述了crash收集的原理,作者的行文清晰,理解透彻,文章易读易懂,特此转发   为了能够第一时间发现程序问题,应用程序需要实现自己的崩溃日志收集服务,成熟的开源项目很多,如 KSCrash...

2018-11-06 22:22:44 190 0

原创 WKWebview 的SSL异常

webview的SSL异常是webview加载失败的重要原因之一,因此有必要对此进行较为全面的监控。我们的业务中关于webview的SSL异常监控起初是这样做的: 监控的位置: 时机一:数据加载过程中出错 - (void)webView:(WKWebView *)webView didFa...

2018-10-27 20:05:06 1182 0

转载 Mac下7z格式文件解压

(转)https://blog.csdn.net/book_1992/article/details/55258937 第一、通过brew安装p7zip brew install p7zip 安装成功后执行 7z e filename.7z 亲测有效

2018-09-23 21:36:34 8295 0

原创 Xcode10打包存在iOS9.3以下系统crash(最新:Xcode10.1已解决crash问题) 暨iPhoneXS,iPhoneXS Max,iPhoneXR适配小结

不废话,直接出结论。 Attention: Xcode10发布后,很多大厂采用xcode10适配iPhone新机,且提审时采用了Xcode打包,此包提审后通过appstore下载的安装包在iOS9.3以下的系统(>=iOS9.0)存在随机崩溃!国内阿里,京东等厂均已复现了该问题。...

2018-09-17 21:15:11 6092 4

原创 再探URL拼接的坑(续:NSURLComponents默认会对url做一次decode)

对于任意一个IT从业者来说,网络是最熟悉、最基本的技术点之一。但是往往最基本的技术也是最容易入坑的技术。我们在最新版的应用中就在URL的拼接上犯了一个幼稚的错误。需求:针对所有的url,拼接一个全局的参数。例如,原URL为https://www.baidu.com, 则需要在上述url后面加一个固...

2018-06-01 00:01:12 2434 1

原创 WKWebView iOS10页面截断暨iOS8、9不渲染

最近有业务使用WKWebView时碰到了两个小问题:使用场景为:WebView load web,然后根据web的高度来调整WebView的高度。碰到的问题:1、iOS10上web加载出了页面被截断,即只有部分网页内容展示出来,其他的部分没有办法展示。经查询是iOS10上引入了bug(iOS9 和...

2018-04-17 23:32:23 1049 0

原创 iOS try-catch会引起memory leak

最近碰到了一个很棘手的问题----内存泄露。话说某天早晨,在需求完成时检查各种场景下WebView的使用是否正常,特别是内存释放是否正常时,发现了一个问题,在某个内嵌WebView的场景下WebView实例始终不释放。着实吓了我一跳,然后检查了一下前几个版本的代码,发现这种场景下一直都没有释放,可...

2018-04-07 22:24:03 704 0

原创 WKWebView js通信的内存泄露问题

苹果在WKWebView上做的最赞的事儿就是显式的支持了js通信。用法很简单: 一个协议:WKScriptMessageHandler 一个类:WKUserContentController 创建一个实例A,该实例遵循WKScriptMessageHandler协议,并将实例A与WKWebVi...

2018-04-02 23:27:36 473 0

原创 reason: image not found如何解决

今天想用Facebook的FBRetainCycleDetector定位一个内存不释放的问题。但是出师不利。App link、luanch都没有问题,但就是载入镜像阶段直接挂掉。问题是:FBRetainCycleDetector的framework载入时报错:image not found。查看了...

2018-04-01 22:56:50 6023 0

转载 iOS tableView优化点

原文:http://mp.weixin.qq.com/s/QIjamR1oZ8phSDZtOhIyVw本文总结了一些tableView常见的优化点,这里聊作记录,以便后用。1、cell高度缓存,减少高度的计算次数;2、图片异步加载渲染;3、减少View层级以及多次绘制(可以将多个变化较小的View...

2018-03-26 21:49:16 89 0

提示
确定要删除当前文章?
取消 删除