每次iOS升级,总会有许多API被更新,其中的一部分会被apple公布出来,而更多的则默默无闻,静静地,等待开发者们掉进去。。。
请输入图片描述

Objc io的御用作者之一Ole Begemann想到了一个很棒的办法来获取所有的API版本差异,原文请戳这里,以下是脱水版译文=。=

译文

本文的思路是通过比较不同版本的SDK的所有头文件,来发现API的变更

  • 首先Clone iOS Runtime Headers Repository到本地
    每回apple发布iOS新版本,github上的Nicolas Seriot都非常给力地将所有头文件导出,并慷慨地分享出来。
    请输入图片描述

我们就使用它作为比对源

git clone https://github.com/nst/iOS-Runtime-Headers.git
cd iOS-Runtime-Headers
  • 选择diff工具
    这里可以使用git默认的diff tool,但强烈推荐使用惊艳无比的Black Pixel’s new Kaleidoscope 2。与其优秀品质相应地,是70刀的凶残价格,好在作者慷慨地提供了一个15天的试用版=。=
    可以在UI上直接设置Kaleidoscope 2为git的默认diff tool,像这样
    请输入图片描述

  • 比对
    由于Nicolas Seriot目前提供的头文件集合尚未包含iOS 8.0,这里以变化较大的6.1到7.0为例。

git difftool 6.1 7.0

结果如下
请输入图片描述

这样就可以查看所有framework的API变化啦。


NSFish
716 声望23 粉丝

只要去做,事情就会一件一件地被完成