如何自动安装Xcode? [英] How do I automate the installation of Xcode?

查看:79
本文介绍了如何自动安装Xcode?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试编写一个将安装我们所有开发工具&的shell脚本。

I am trying to write a shell script that will install all of our development tools & dependencies onto a clean OSX machine.

有人知道自动安装Xcode的最佳方法吗?

Does anybody know the best approach to automate the installation of Xcode?

我这样做是为了


  1. 记录开发环境。

  2. 加快入门速度

  3. 遵循一切自动化原则。


推荐答案

全自动XCode安装



首先,登录 Apple开发者下载站点,并获取适用于您的OSX版本的XCode.dmg版本。您可能需要获取几个版本以支持不同的OSX平台(例如:10.10优胜美地,10.9小牛等等)。将dmg上传到您可以访问的文件主机(例如:Amazon S3,Dropbox,您选择的共享主机提供商等)。

Fully Automated XCode Installation

First, login to the Apple Developer Downloads Site and get the version of XCode.dmg that works for your version of OSX. You might want to grab a couple versions to support the different OSX platforms (e.g.: 10.10 Yosemite, 10.9 Mavericks, etc...). Upload the dmg to a file host you can access (e.g.: Amazon S3, Dropbox, your shared hosting provider of choice, etc...)

更改在以下脚本中 DOWNLOAD_BASE_URL ,并使用版本&适当地重命名 dmg。内部版本号或将其添加到以下脚本中

Change the DOWNLOAD_BASE_URL in the following script, and rename the dmgs appropriately with the version & build number or add it to the script below:

#!/bin/bash
DOWNLOAD_BASE_URL=http://example.com/path/to/xcode/dmgs/

## Figure out OSX version (source: https://www.opscode.com/chef/install.sh)
function detect_platform_version() {
  # Matching the tab-space with sed is error-prone
  platform_version=$(sw_vers | awk '/^ProductVersion:/ { print $2 }')

  major_version=$(echo $platform_version | cut -d. -f1,2)

  # x86_64 Apple hardware often runs 32-bit kernels (see OHAI-63)
  x86_64=$(sysctl -n hw.optional.x86_64)
  if [ $x86_64 -eq 1 ]; then
    machine="x86_64"
  fi
}

detect_platform_version

# Determine which XCode version to use based on platform version
case $platform_version in
  "10.10") XCODE_DMG='XCode-6.1.1-6A2008a.dmg' ;;
  "10.9")  XCODE_DMG='XCode-5.0.2-5A3005.dmg'  ;;
  *)       XCODE_DMG='XCode-5.0.1-5A2053.dmg'  ;;
esac

# Bootstrap XCode from dmg
if [ ! -d "/Applications/Xcode.app" ]; then
  echo "INFO: XCode.app not found. Installing XCode..."
  if [ ! -e "$XCODE_DMG" ]; then
    curl -L -O "${DOWNLOAD_BASE_URL}/${XCODE_DMG}"
  fi

  hdiutil attach "$XCODE_DMG"
  export __CFPREFERENCES_AVOID_DAEMON=1
  sudo installer -pkg '/Volumes/XCode/XCode.pkg' -target /
  hdiutil detach '/Volumes/XCode'
fi

您可能有兴趣安装XCode命令行工具,并绕过XCode许可协议:

You might be interested in installing the XCode Command Line Tools, and bypassing the XCode License Agreement also:

curl -Ls https://gist.github.com/trinitronx/6217746/raw/58456d6675e437cebbf771c60b6005b4491a0980/xcode-cli-tools.sh | sudo bash

# We need to accept the xcodebuild license agreement before building anything works
# Silly Apple...
if [ -x "$(which expect)" ]; then
  echo "INFO: GNU expect found! By using this script, you automatically accept the XCode License agreement found here: http://www.apple.com/legal/sla/docs/xcode.pdf"
  expect ./bootstrap-scripts/accept-xcodebuild-license.exp
else
  echo -e "\x1b[31;1mERROR:\x1b[0m Could not find expect utility (is '$(which expect)' executable?)"
  echo -e "\x1b[31;1mWarning:\x1b[0m You have not agreed to the Xcode license.\nBuilds will fail! Agree to the license by opening Xcode.app or running:\n
    xcodebuild -license\n\nOR for system-wide acceptance\n
    sudo xcodebuild -license"
  exit 1
fi



替代方法



是使用我创建的这个Applescript

要使用:

git clone https://gist.github.com/6237049.git
cd 6237049/
# Edit the script with AppleScript Editor to replace your APPLE ID and PASSWORD
osascript Install_XCode.applescript

您可能也有兴趣在这里的答案中:如何为Xcode下载和安装命令行工具

You might also be interested in my answer here: How download and Install Command Line Tools for Xcode.

与applescript方法相比,我建议使用其他方法。该applescript取决于UI元素层次结构,对于OSX上的App Store应用程序的未来版本,它可能并不总是保持不变。对我来说似乎很脆弱。通过命令行通过dmg安装XCode可能是最可靠的方法。

I would recommend the other method over the applescript method. The applescript depends on a UI element hierarchy that may not always stay the same for future versions of the App Store app on OSX. It just seems fragile to me. Installing XCode via the command line via a dmg is probably the most reliable way.

这篇关于如何自动安装Xcode?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆