desgard.com

Swift 5 之后 "Method Swizzling"?

Swift 5 之后 “Method Swizzling”? 引子 随着六月份的 WWDC 上对 SwiftUI 的发布,感觉 Swift 有变成了炽手可热的话题。在大会结束后,发现了有这么几条 Twitter 在讨论一个叫做...

CocoaPods 历险 - Resolver 仲裁入口解析

回顾 在 CocoaPods 历险 - 总览 中已经分析了 CocoaPods 的整个组件构成和职责。这篇博客单说在 Install 过程中的版本仲裁算法,其中包含了 Resolver 的入口过程以及 Molinillo 仲裁算法,这一篇我们来关注入口方案。...

CocoaPods 历险 - 总览

基本上所有的 iOSer 都是用过 CocoaPods 来管理 iOS 工程中的三方库,但是很少有系列文章来详细的解读 CocoaPods。笔者决定自行尝试一下。本文所有 CocoaPods 源码使用的是 1.5.3 版本。 Why Ruby? 笔者在日常工作中,在做一关于项目组件管理的效率工具,由于组内技术选型也确定了使用...

做点有意思的事情 - 2018 年小结

又到了写年终总结的时候,2018 年感觉自己做了很多有意思的事情,但是感觉时间仍旧不够用,就连写博客总结的时间都被剥夺了。希望 2019 年能多挤一些时间出来留给学习与总结。因为很多东西的总结是关键的,可能这是适用于自身学习的方法论。 🤣 积累 读书 翻了一下 2018 的豆瓣成绩,技术类 3 本,读物类 19 本(之前懒得记录,12月份一块记了一波豆瓣 😆),读书居然比去年少了...

AutoLayout 中的线性规划 - Simplex 算法

前一段时间由于跳槽,博客停更了大概有 150 天左右的样子。在所有事情都安置好后,决定推掉之前写过的半截文章,开始更这么一个专题。再这之前,自己没有阅读 paper 的习惯,这也是一次对自己的挑战。 本文与 iOS 关系不大,多半偏向 paper 的学习和算法介绍,请读者根据兴趣自行阅读。 温习线性规划 当我们在 Storyboard 上建立完一堆约束后,发现其实所有的约束都可以用多个约束间的不等式关系来描述。于是乎将 UI...

验证试验 - 探求 fishhook 原理(二)

示例 Demo Code 继续使用上一篇文中的代码示例: #include <stdio.h> #include "fishhook.h" static int (*original_strlen)(const char *_s); int new_strlen(const...