iOS消息转发小记 Posted on 2018-05-31 | 消息转发流程图 如果类接收到无法处理的消息,会触发消息转发机制,一共有三个步骤,接受者在每一步中均有机会处理消息。步骤越往后,处理消息的代价就越大,所以最好再第一步就处理完。 第一道防线在类里面实现两个方法来处理未知消息。执行动态方法解析之前,先会判断是否曾经有动态解析。 resolveInst ... Read more »
探寻Objective-C引用计数本质 Posted on 2018-05-26 | 本文涉及到的CPU架构为arm64,其它架构大同小异。源码来自苹果开源-runtime。 Objective-C中采用引用计数机制来管理内存,在MRC时代,需要我们手动retain和release,在苹果引入ARC后大部分时间我们不用再关心引用计数问题。但是为了深入Objective-C本质,引 ... Read more »
Cordova源码解析(二)- 自定义UserAgent Posted on 2018-05-15 | 本文分析的源码是基于Cordova 4.2.1版本,Cordova官网。 Cordova源码解析(二)- 自定义UserAgentUIWebView没有提供设置UserAgent的接口,但是有一个办法可以间接的设置。 12NSDictionary* dict = [[NSDictionary all ... Read more »
Cordova源码解析 Posted on 2018-05-09 | 本文设计到的源码是基于Cordova 4.2.1版本,Cordova官网。 CDVViewControllerCDVViewController是Cordova最主要的类,它把所有模块整合在一起,直接初始化一个它的实例就可以使用。例如下面的代码: 123CDVViewController *vc = ... Read more »
浅析AutoreleasePool源码 Posted on 2018-04-14 | 最近在拜读Draveness大佬的一篇文章自动释放池的前世今生 —- 深入解析 autoreleasepool,看到文中给读者留了一个问题: 我到现在也不是很清楚为什么要根据当前页的不同状态 kill 掉不同 child 的页面。 关于AutoreleasePool是什么,强力推荐阅读原文,写的 ... Read more »
iOS用原生代码读写Webview的Local Storage Posted on 2018-04-03 | 背景公司项目使用的Cordova混合开发的,有一个模块以前用H5实现的,新版本用原生来实现,于是需要迁移数据。H5使用的Local Storage存的数据,原生要拿到数据有两种方案: 用WebView执行js方法来读取数据; 找到Local Storage存储路径,直接读取; 方案一实现起来比 ... Read more »
AFNetworking下载文件时文件名长度的坑 Posted on 2018-03-29 | 背景最近遇到一个Bug,在用AFNetworking下载文件的时候莫名其妙的失败了,跟了一下发现一个小坑,记录一下防止以后再掉进去。 iOS和Linux的文件名的长度限制相同都是255个字符!!! 问题根源是文件名超度超过了255个字符,AFNetworking下载文件是成功了(框架会把文件下载 ... Read more »
iOS用CallKit实现来电识别 Posted on 2018-03-03 | 前言 最近需要实现一个新需求,用iOS 10出的CallKit实现将APP的通讯录的信息同步到系统中,可以不把人员信息加到通讯录中,实现来电号码识别。这个功能在xx安全卫士、xx管家中很早就实现了,但是网上相关的资料较少,而且官方的文档写的太简单了,很多坑还要自己去摸索。于是记录一下和各位分享,如有 ... Read more »
iOS的Cookie管理 Posted on 2018-03-01 | 背景最近有一个需求,需要手动的去缓存cookie,然后启动APP的时候设置缓存过的cookie,项目网络框架用的是Afnetworking。 解决方案翻了下Afnetworking的issue,发现了作者对于cookie的解释 Afnetworking没有对Cookie做过处理 使用NSHT ... Read more »
imageNamed与imageWithContentsOfFile小结 Posted on 2018-03-01 | 本文主要讲imageNamed与imageWithContentsOfFile的差异,需要注意的点,与实战中遇到的坑。 好久没写过博客了,什么工作太忙,加班太晚我就不说了,都怪自己太懒😂,时间都是挤出来的。看着各位大牛写的文章,简直过瘾,希望有一天自己也能写出这么高质量、干货密集的文章,先从 ... Read more »