刚才写了获取Xcode文档下载地址,但是在Xcode里还是会提示下载。
这里给出一个可行的解决办法,当然不是最好的办法。最好就是人肉翻墙了:p
想看具体怎么做,可以直接跳到后面的Solution,前面写了一些分析。
回到Xcode Preference的下载界面,先让它下着iOS 8.1的文档。
然后在终端里
lsof | grep Xcode
于是乎,你会看到一大堆信息(其实就是Xcode打开的文件和端口,在“活动监视器”里也可以看,不过用什么方法看并不是重点)
搜索“dmg”
P.S 这里的配图稍微有点问题,因为我已经安装好了docset,真实的目录类似于
/private/var/folders/l6/mzfygwpj66z3jgy02skqyyq40000gp/T/download-B92A6834-24D1-4F68-9284-A695AEBB2457-51327-00092B1DA42C7B18/download-and-install-cache-dstroot/
把它的路径复制下来,然后用我们已经下好的dmg去替换。回到Xcode中,下载进度没变。
本以为退出Xcode再打开就会变成“已经下载好,但未安装”的状态,不过一旦退出Xcode,那个临时目录也会被删除,也就是说,Xcode不支持断点续传。
这样一来,我们只能把自己伪装成https://devimages.apple.com.edgekey.net/,让Xcode从本地下载到本地,然后Xcode自己安装。
Solution
先安装Server,然后打开“网站”功能。
(直接用自带的Apache配置也行)
配置HTTPS的那个服务(443端口)
打开“站点文件”储存的目录,按照原始URL对应的目录层级,把dmg文件放进去。
接下来修改hosts,添加记录,把https://devimages.apple.com.edgekey.net/指向本地。
127.0.0.1 devimages.apple.com.edgekey.net
然后就可以在Xcode里重新下载iOS 8.1的文档。
不过由于是自签名证书,所以Xcode会有警告
点“OK”让Xcode继续就行。
如果点了OK,但是Xcode没有开始下载的话,就把刚才的docsets文件夹移动到HTTP(80端口)对应的站点目录中。当然docsets里面的目录层级不变。
然后这时候Xcode应该下得飞快(废话,本机到本机当然快)。安装时间还是一样的。
然后就不会提示下载了。
附注:
解决Xcode警告
打开“keychain”,然后选择和刚才443端口对应的SSL证书,把“信任”中的“在使用此证书时:”改为“始终信任”即可。
非常不错的idea,我用这方法成功快速安装了xcode6.2的文档