获取Xcode文档下载地址

Xcode内置的文档下载速度一般,如果能把地址取出来用下载工具来下的话,会比较稳定,速度也上去了。

在网上搜索了一下,首先发现的是这篇教程,在我把触控板按坏之前(我实在找不到info按钮),我发现下载URL似乎是有规律的,比如iOS 4.3的文档是

http://developer.apple.com/rss/com.apple.adc.documentation.AppleiPhone4_3.atom

那么我们换一下数字不就行了?
http://developer.apple.com/rss/com.apple.adc.documentation.AppleiPhone8_1.atom

复制到Safari中打开,结果却看到

屏幕快照 2015-01-17 上午9.42.33

似乎Xcode4.0 / iOS 6.1之后就不使用这种方式了,那么换种方式思考吧。

有一定开发经验的人都应该知道,常用的下载类是NSURLConnection,我们在通过Xcode下载文档时,它也很可能就是用的NSURLConnection。

那么打开Xcode的Preference,切到Downloads标签,我们先随便找一个拿来测试,比如这个iOS 8.1的文档。

屏幕快照 2015-01-17 上午9.47.17

接下来便是cycript大显身手的时候了,

在终端执行以下命令,

sudo cycript -p `ps -e -o pid,comm | grep "/Applications/Xcode.app/Contents/MacOS/Xcode" | awk '{print$1}'`

说人话!

sudo cycript -p Xcode

hook进Xcode之后就直接

choose(NSURLConnection)

cycript就会显示

[#'<NSURLConnection: 0x7fbfcd7a4520> { request: {n  "object" : "<NSMutableURLRequest 0x7fbfc880e1e0>",n  "url" : "https:\/\/devimages.apple.com.edgekey.net\/docsets\/20141020\/031-07735-A.dmg",n  "verb" : "GET",n  "headers" : {n    "Accept-Encoding" : "gzip, deflate",n    "User-Agent" : "Xcode"n  }n} }']

屏幕快照 2015-01-17 上午9.56.09

可以看出

"url" : "https:\/\/devimages.apple.com.edgekey.net\/docsets\/20141020\/031-07735-A.dmg"

这就是我们想要的东西。

复制到某下载工具,大小完全吻合。

same

下载完dmg之后直接挂载,里面是一个pkg安装包

屏幕快照 2015-01-17 上午9.59.34

直接安装就行

屏幕快照 2015-01-17 上午9.59.44

 

不过这种方法安装之后,Xcode的Preference里还是会继续显示未下载.

Leave a Reply

Your email address will not be published. Required fields are marked *

3 × 1 =