Comments

动态链接过程是在二进制加载进来之后,main之前的过程。这一过程就是让二进制变为可正常执行状态的过程。 本文从会讲下面几个主要概念:

  • rebase
  • bind
  • 动态链接过程
  • 符号反向依赖
Read on →
Comments

在定位某些crash问题的时候,有时候遇到一些问题很诡异。有时候挂在了系统库里面。这个时候定位crash问题往往是比较头疼的。那么这个时候学会一些汇编知识,利用汇编调试技巧进行调试可能会起到意想不到的效果。

学习汇编语言不只是帮助定位crash而已,学习汇编可以帮助你真正的理解计算机。毕竟CPU上跑的就是对应的指令集。

Read on →
Comments

dyld是一个精细而又复杂的过程,在上一篇文章之后,有必要再详细剖析这个过程。这里讲到第一篇:dyld_start之前都经历了什么.

既然各种二进制都是走dyld加载的,那么dyld自身是如何加载进来的呢?_dyld_start之前系统都做了什么?

Read on →
Comments

简述

本文主要讲述了在iOS开发过程中,模块化工程架构的一种组织方式,本文主要讲述基于cocoapods来做模块化的方案,详细讲述了iOS开发怎么进行模块划分的内容,主要会在以下方面做阐述:

  • 为什么要做模块化
  • 模块设计原则
  • 模块化开发有哪些优点和缺点
  • 解耦与通信
Read on →
Comments

这个命题貌似有点大,那就尽量将我理解的分享一下吧,首先说明一点,我是代码党,所以我所讲的都是代码布局。本文会围绕一些我们平常开发中常遇到的布局问题来进行叙述,包括以下几个方面:

  • 如何布局UIViewController的view
  • childViewController的处理
  • Autolayout来布局
  • tableView管理
Read on →
Comments

移动端架构中图片库是非常重要的一环,其实图片库也可以理解为网络库的一种特殊使用模式,为了满足需要,图片库至少要满足以下特点:

  • 提供一个加载入口,通常以UIImageView的类别方法setImageWithURL:...开始
  • 支持异步网络加载图片
  • 支持内存缓存和文件缓存
  • 确保同一张图片不会被重复下载
  • 主流图片格式的解码
Read on →
Comments

最近看到Casa Taloyum同学的关于IOS架构的文章,分享的概念和观点很值得一看,于是不禁心痒,也做些分享吧,我会从实际设计过程中需要思考的问题的角度着手来讲述,毕竟无论什么样的架构,什么样的设计都是要解决这些问题的。

今天就先讲讲网络层的需要思考的问题吧。

Read on →
Comments

LLDB 是一个有着 REPL 的特性和 C++ ,Python 插件的开源调试器。LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展。(这里有一个关于调试器如何工作的总体的解释。)

相信每个人或多或少都在用LLDB来调试,比如po一个对象。LLDB的是非常强大的,且有内建的,完整的 Python 支持。今天我们主要介绍一个 facebook 开源的 lldb 插件 Chisel。可以让你的调试更Easy.

Read on →