プログラマーだけん、がんばる

神の国、島根のプログラマー。サーバ、Rubyまわりの技術(Ruby on Rails, Rhodes etc..)やiOS, Androidなどの開発を行っていくうえで、役だったことなどを共有できればいいなと思います。

「xcode-install」を使用してXcodeもRubyで管理する

xcode-install」とは

少し前までGitHubRubyカテゴリのトレンドにランクインしていて、
気になってはいたのですが導入してみたらすごく簡単にXcodeを管理することが出来ました。

今まで、Xcode複数バージョン管理しようと思うと、
ブラウザを立ち上げ、
開発者ポータルへログインし、
Xcodeを選び、
最新のXcodeが大きく表示され、
それは要らない!となり、
「View All」をクリック、やっと辿り着いた....

マウスいらーん!!!!! (ノ ゚Д゚)ノ ==== ┻━━┻

xcode-install」を使用すると、
rbenvのように、バージョンの異なったXcodeを管理することができます。

つまり、コマンドベースで管理できるようになるのです。

前提条件

  • Mac
  • Rubyが使える
  • Appleの開発者ライセンスを取得している

ご存知のように任意のXcodeのバージョンを使用するためには毎年Apple様にお金を払う必要があります。

導入

Gemなのでいつも通りです。

$ gem install xcode-install --no-ri --no-rdoc

Fetching: multipart-post-2.0.0.gem (100%)
Successfully installed multipart-post-2.0.0
Fetching: faraday-0.9.2.gem (100%)
Successfully installed faraday-0.9.2
Fetching: faraday_middleware-0.10.0.gem (100%)
Successfully installed faraday_middleware-0.10.0
Fetching: plist-3.1.0.gem (100%)
Successfully installed plist-3.1.0
Fetching: multi_xml-0.5.5.gem (100%)
Successfully installed multi_xml-0.5.5
Fetching: security-0.1.3.gem (100%)
Successfully installed security-0.1.3
Fetching: colored-1.2.gem (100%)
Successfully installed colored-1.2
Fetching: highline-1.7.8.gem (100%)
Successfully installed highline-1.7.8
Fetching: credentials_manager-0.9.0.gem (100%)
Successfully installed credentials_manager-0.9.0
Fetching: spaceship-0.3.4.gem (100%)
Successfully installed spaceship-0.3.4
Fetching: claide-0.9.1.gem (100%)
Successfully installed claide-0.9.1
Fetching: xcode-install-0.9.6.gem (100%)
/Users/ryota/.rbenv/rbenv.d/exec/gem-rehash/rubygems_plugin.rb:6: warning: Insecure world writable dir /usr in PATH, mode 040777
Successfully installed xcode-install-0.9.6
12 gems installed

次に、ログイン情報を環境変数にexportします。
ここで値を設定しないと何も動作しません。
ファイルに記述した方は再読込も忘れずに。。

export XCODE_INSTALL_USER=YOUR_USER_VALUE
export XCODE_INSTALL_PASSWORD=PASSWORD_VALUE

以上で導入完了です。rbenvを使用した方は必要時応じて、rehashをしておきましょう。
下記のようにヘルプが表示されたら大丈夫です。

$ xcode-select help

Usage:

    $ xcode-install COMMAND

      Xcode installation manager.

Commands:

    + cleanup     Cleanup cached downloads.
    + install     Install a specific version of Xcode.
    + installed   List installed Xcodes.
    + list        List Xcodes available for download.
    + select      Select installed Xcode via `xcode-select`.
    + selected    Show version number of currently selected Xcode.
    + uninstall   Uninstall a specific version of Xcode.
    + update      Update cached list of available Xcodes.

Options:

    --version     Show the version of the tool
    --verbose     Show more debugging information
    --no-ansi     Show output without ANSI codes
    --help        Show help banner of specified command

使い方(代表的なもを抜粋)

Xcodeをインストールする
$ xcode-install install 7.0.1
Xcodeをアンインストールする
$ xcode-install uninstall 7.0.1
インストール済みのXcodeを確認する
$ xcode-install installed
インストール可能なXcodeを確認する
$ xcode-install list
パスを通すXcodeを変更する(xcode-selectと同等です)
$ xcode-install select 7.1
現在パスが通っているXcodeの確認
$ xcode-install selected

まとめ

この手のツールは使い方も統一されていて簡単に使えますね。
注意しないといけないのはXcode自体のダウンロードの都合でインストールプロセスが長いので、
万が一のためにtmux等の上で実行することをお勧めします。