xcode-install を利用した Xcode のバージョン管理をやってみた
Xcode のバージョン管理するが面倒くさい!そう思ったことはありませんか?
App Store から DL しても途中で失敗したりなかなかうまいこといきません。 仕方がないので Developer Center から直接 DL してきます。 そして古い Xcode.app をリネームして残しておき、新しいのと入れ替える。
そう、めんどくさいんです。。。
そんな時に neonichu/xcode-install と出会いました。 作者は try! Swift でも登壇されていた Boris Bügling さんです。
これは rbenv のような **env 系と似たような interface を持つ CLI で Xcode のバージョンを管理するのに特化しています。
これがとても便利だったので紹介します。
xcode-install の使い方
Installation
gem install xcode-install
Xcode を DL する際に Developer Center にログインする必要があります。
毎回ログイン情報を入力するのもめんどくさいので、XCODE_INSTALL_USER
, XCODE_INSTALL_PASSWORD
の環境変数を指定しておくと楽になります。
password はいやだって人は ID だけでも設定しておくと、一度パスワードを入力すると次回からは keychain から取得してくれるのでそれでもいいかなと思います。
ここの部分は fastlane/credentials_manager を使っているようです
Usage
$ xcversion update $ xcversion install 7.3.1
仕組みとしては簡単で Xcode_x.x.x.dmg を cache ディレクトリに保存し、それを /Application/Xcode-x.x.x.app にインストール後、xcode-select
を実行してバージョンを切り替えてくれます
以下、ざっと使うコマンドを紹介していきます
インストール可能なバージョン一覧を表示
$ xcversion list 7 7.0.1 7.1 7.1.1 7.2 7.2.1 (installed) 7.3 (installed) 7.3.1 (installed)
--all
をつけると、さらに古いバージョンも表示されます
インストール可能なバージョン一覧を更新
$ xcversion update
インストール済みのバージョン一覧を表示
$ xcversion installed 6.4 (/Applications/Xcode-6.4.app) 7.2.1 (/Applications/Xcode-7.2.1.app) 7.3 (/Applications/Xcode-7.3.app) 7.3.1 (/Applications/Xcode-7.3.1.app)
DVTPlugInCompatibilityUUID
を一覧で表示するオプションを追加した PR がマージされたので 1.3.0 の次のバージョンから使えるようになるでしょう。
Xcode Plugin を作ってる(使ってる)人には大助かりですね。
はやく使いたい方は master からインストールしてもらえれば使えます
$ xcversion installed --uuid 6.4 (/Applications/Xcode-6.4.app) 7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90 7.2.1 (/Applications/Xcode-7.2.1.app) F41BD31E-2683-44B8-AE7F-5F09E919790E 7.3 (/Applications/Xcode-7.3.app) ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C 7.3.1 (/Applications/Xcode-7.3.1.app) ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C
利用する Xcode を変更
$ xcversion select 7.3.1
Simulator の install 状況を確認
$ xcversion simulators Xcode 7.3.1 (/Applications/Xcode-7.3.1.app) iOS 8.1 Simulator (installed) iOS 8.2 Simulator (installed) iOS 8.3 Simulator (installed) iOS 8.4 Simulator (installed) iOS 9.0 Simulator (installed) iOS 9.1 Simulator (not installed) iOS 9.2 Simulator (installed) tvOS 9.0 Simulator (installed) tvOS 9.1 Simulator (installed) watchOS 2.0 Simulator (installed) watchOS 2.1 Simulator (installed)
Simulator を install
$ xcversion simulators --install='iOS 9.1 Simulator'
Xcode_x.x.x.dmg を削除
一度 DL した Xcode_x.x.x.dmg は保存されたままになります。
ディスク容量が気になる方は cleanup
を実行して削除してください
$ xcversion cleanup
はまりどこ
Developer Center にログインすると利用規約への同意画面が表示されるような状態のアカウントを使うと Xcode の DL に失敗(タイムアウト)します。 普段使っていないアカウントを使う場合は一度ログインして確認しておきましょう。
まとめ
xcode-install
を使うことによって Xcode のアップデートが以下のような手順になります。
$ xcversion update // 一覧更新 $ xcversion list // 入れたいバージョンを確認 $ xcversion install x.x.x // インストール
これだけで最新の Xcode が使えるようになり、バージョン管理も行ってくれます。 これで Xcode のヘッダーの diff をとってニヤニヤする作業もしやすくなりますね。