手动下载 XCode 文档和模拟器

缘起

由于众所周知的原因,也就是 Apple 的云真的很烂,App Store 还能通过 DNS 等手段加速更新。对于 XCode 简直就是噩梦,挂不挂都是一个样子,非常慢。不幸中之大幸,虽然 XCode 本身下载很慢,但是可以手动下载好之后,通过 XCode 安装。

文档

手动下载文档可以通过以下几步解决,via stackoverflow

  1. 通过这个地址找到需要下载的文件的路径

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <!-- START OS X doc set -->
    <dict>
    <key>fileSize</key>
    <integer>931959772</integer>
    <key>identifier</key>
    <string>com.apple.adc.documentation.OSX</string>
    <key>name</key>
    <string>OS X 10.11.4 Documentation</string>
    <key>source</key>
    <string>https://devimages.apple.com.edgekey.net/docsets/20160321/031-52211-A.dmg</string>
    <key>userInfo</key>
    <dict>
    <key>ActivationPredicate</key>
    <string>$XCODE_VERSION &gt;= '7.3'</string>
    <key>Category</key>
    <string>Documentation</string>
    <key>IconType</key>
    <string>IDEDownloadablesTypeDocSet</string>
    <key>InstallPrefix</key>
    <string>$(HOME)/Library/Developer/Shared/Documentation/DocSets</string>
    <key>InstalledIfAllReceiptsArePresentOrNewer</key>
    <dict>
    <key>com.apple.pkg.10.9.OSXDocset</key>
    <string>10.9.0.0.1.1458364023</string>
    </dict>
    <key>RequiresADCAuthentication</key>
    <false/>
    <key>Summary</key>
    <string>My description of content</string>
    </dict>
    <key>version</key>
    <string>1014.5</string>
    </dict>
    <!-- END OS X doc set -->

    下载 source 节点对应的内容,在这个示例中也就是这个,可以通过第三方的下载工具,比如 asia2 下载。

  2. 按照 identifier string + - + version string + .dmg 的格式重命名文件,在这个示例中也就是 com.apple.adc.documentation.OSX-1014.5.dmg

  3. 把重命名后的文件放到 ~/Library/Caches/com.apple.dt.Xcode/Downloads/ 中,如果没有 Downloads 文件夹就创建一个,
    如果 Downloads 中有后缀为 dvtdownloadableindex 的文件,全部删除

  4. 删除 ~/Library/Developer/Shared/Documentation/DocSets 中对应的 docset

  5. 在 XCode 中 Preferences/Download 中下载对应的文档,XCode 会校验刚才复制过去的文件进行安装

模拟器

  1. 打开 XCode,Preferences/Download 中下载模拟器
  2. 打开 Console.app,清空日志
  3. 在 XCode 中取消下载
  4. 在 Console.app 中会看到取消的日志,其他包含完整的下载地址
  5. 通过 asia2 等第三方工具下载刚才地址中的文件
  6. 把下载好的文件复制到 ~/Library/Caches/com.apple.dt.Xcode/Downloads 中,如果没有 Downloads 文件夹就创建一个,
    如果 Downloads 中有后缀为 dvtdownloadableindex 的文件,全部删除
  7. 在 XCode 中安装刚才下载的模拟器

如果需要删除不需要的模拟器,可以在 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs 中直接删除

—EOF—