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中打开,结果却看到
似乎Xcode4.0 / iOS 6.1之后就不使用这种方式了,那么换种方式思考吧。
有一定开发经验的人都应该知道,常用的下载类是NSURLConnection,我们在通过Xcode下载文档时,它也很可能就是用的NSURLConnection。
那么打开Xcode的Preference,切到Downloads标签,我们先随便找一个拿来测试,比如这个iOS 8.1的文档。
接下来便是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} }']
可以看出
"url" : "https:\/\/devimages.apple.com.edgekey.net\/docsets\/20141020\/031-07735-A.dmg"
这就是我们想要的东西。
复制到某下载工具,大小完全吻合。
下载完dmg之后直接挂载,里面是一个pkg安装包
直接安装就行
不过这种方法安装之后,Xcode的Preference里还是会继续显示未下载.