iOS Crash 百科不全书

2021/5/13 posted in  iOS

iOS 五金店--锁

2021/5/13 posted in  iOS

网络图片框架研究系列--线程安全

2021/5/13 posted in  iOS

网络图片框架研究系列--网络内核

从其框架网络层的结构入手, YYWebImage 获取网络资源使用了一个自定义的 Operation -- YYWebImageOperation

自定义 Operation 可以实现什么样的能力?

YYWebImageOperation 内部实现

内部维护了一个全局网络图片专用线程,每个 Operation 中所有网络相关操作都将在该线程中执行。

Reference

2021/5/13 posted in  iOS

网络图片框架研究系列--缓存策略

2021/5/13 posted in  iOS

网络图片框架研究系列--图片编解码

关于一个网络图片框架支持多少种类型的图片格式比较合适,答案是:任意种。
其实也就是可拓展,需要用到哪种格式的图片编解码就增加一个该格式图片的编解码器组装到框架中使用。

Read more   2021/5/13 posted in  iOS

基于 YYWebImage 的网络图片加载框架研究

标题为什么说是基于 YYWebImage 的网络图片加载研究,是因为在研究过程中不仅只是分析 YYWebImage 的源码,也会对同类型的库进行横向对比。其中会涉及到 AFNetworking, SDWebImage, FastImageCache 中的一些逻辑。

研究的内容包括:

  1. 图片编解码
  2. 缓存策略
  3. 网络内核
  4. 线程安全
Read more   2021/5/11 posted in  iOS

iOS 启动耗时优化

2021/5/8 posted in  iOS

Objective-C:Category的内部实现机制

2021/3/23 posted in  iOS

iOS 代码重签名

2021/3/23 posted in  iOS

iOS 线程同步的方式

2021/3/22 posted in  iOS

如何设计 SDK 自动化框架

用途

  • 稳定性测试
  • 产物分析
2021/3/5 posted in  iOS

iOS UI 自动化录制实现原理

2021/3/5 posted in  iOS

iOS 无侵入埋点实现原理

2021/3/5 posted in  iOS

NSMapTable 的使用

2021/2/22 posted in  iOS

SQLite 加解密探索

最近要实现移动端 sqlite 数据库文件的加解密,原以为SQLite有提供加解密的功能。没想公开版本(官方文档叫 unenhanced public-domain version of SQLite )的SQLite并没有提供此功能,而是提供了对应的接口给外部去实现。

Read more   2021/1/13 posted in  iOS

SDWebImage 对图片Scale的处理

最近使用自己改造的图片图替换SDWebImage,发现加载出来图片的scale与 SDWebImage 不一致,遂借鉴一下SDWebImage的实现。

Read more   2021/1/7 posted in  iOS

Xcode 单元测试快速使用

单元测试,验证 SDK 或者工具组件还是挺靠谱的。用于某次迭代中修改内部实现时进行快速验证。

使用很简单,来进行快速入门使用下吧

Read more   2021/1/7 posted in  iOS

Voip PushKit 初探

按照苹果的知道文档进行配置后,使用Xcode 12 跑程序遇到了如下的错误:

PushKit apps that use VoIP push must link either CallKit or IncomingCallNotifications frameworks.

出现此错误是因为 iOS 13 的SDK对PushKit使用进行了更新,要求一定要使用CallKit处理PushKit的通知:

https://developer.apple.com/documentation/pushkit/pkpushregistrydelegate/2875784-pushregistry?language=objc

当与iOS 13 SDK或更高版本链接时,你对该方法的实现必须通过调用你的应用程序的CXProvider对象的reportNewIncomingCallWithUID:update:completion:方法,向CallKit框架报告PKPushTypeVoIP类型的通知。当你调用该方法时,除非发生错误,否则系统会向用户显示标准的来电界面。例如,如果用户启用了 "请勿打扰",系统就会报告一个错误。你可以在通知CallKit的同时建立与VoIP服务器的连接。

使用 CallKit 处理 PushKit 的通知:

https://developer.apple.com/documentation/pushkit/responding_to_voip_notifications_from_pushkit?language=objc

2020/10/16 posted in  iOS

沙盒中的图片数据格式

写了图片data数据到沙盒,又想保留图片格式?

Read more   2020/9/21 posted in  iOS