移动开发技术

Jason's Blog

Aspects源码解读

Aspects是iOS面向切面编程的第三方库,它可以在不改变原有代码的情况下,在任意函数之前或之后插入代码,也可以替换掉函数原有的代码。它的原理是基于oc语言的runtime,这篇文章对Aspects进行源码解读,并阐述其原理。

对JSPatch原理的理解

JSPatch利用OC语言的动态特性,让OC语言根据传入的JS代码,进行动态行为修改,以达到热更新的目的。

项目中根据JSPatch的原理,自己实现了一套简单的热更新方案。以替换方法实现为例,热更新运行的步骤如下:

TIP项目网络框架梳理

前段时间小伙伴重构了项目的网络层代码,将之前的过程式的代码,面向对象化了,职责分离,更易维护。不过也增加了理解成本,这里记录一下。

在新电脑上恢复Octopress

换了新电脑,如何在新电脑上继续使用OctoPress呢,只需要执行以下命令

1.首先将博客的源文件clone到本地的octopress文件夹内

1
$ git clone -b source https://github.com/username/username.github.io.git octopress  

2.将博客文件clone到octopress的_deploy文件夹内

1
2
$ cd octopress  
$ git clone https://github.com/username/username.github.io.git _deploy   

username为github用户名

iOS开发中支持实时UI调试的方法

背景

平时在开发iOS界面的过程中,如果修改了布局代码,需要重新启动模拟器,进行效果查看。如果工程较大,启动将耗时比较长,比较浪费时间。这里介绍一个工具InjectionIII,使用后可以不重启应用,保存文件后直接查看修改效果,极大提升界面开发工作的效率。