xcode-selectを超軽くラッピングしたxcode-switchを作った
2015年2月以降に申請するiOSアプリは、iOS 8(Xcode 6)と64bit対応が必須になるということが発表されましたが、諸事情でまだまだXcode 5系でメンテしなければならないものがあったりしています。
とは言え、平行してXcode 6対応の見積や検証をしないといけなかったりもするので、しばらくはXcode 5と6を切り替えながら作業することになりそうです。
Xcodeは名前を分けて複数存在させることができ、 xcode-select
コマンドで切り替えることができるわけですが、コマンド名も引数も微妙に長いし、毎度 Contents/Developer
の部分がうろ覚えでもどかしい思いをするので、パス部分を隠蔽したコマンドを作ってみました。
aliasでいいじゃんという感じですが、この移行期間ぐらいしか使わないので、そのためにaliasに置いておくのもなーと思ったので。
次に使うのは、iOS 9 (Xcode 7?) が出るころかなー?
使い方
自分で作ったのに使い方を忘れないようにメモ。
事前準備
xcode-switchは、以下の様な環境となっていることを前提としています。
- すべてのXcodeはアプリケーション(
/Applications
)フォルダに配置している - 最新の(メインで使う)Xcodeは、
Xcode.app
である - それ以外のXcodeは、
Xcode<hogehoge>.app
である
hogehoge の部分は、バージョンを示す数字などが入る想定です。
例えば、今私の開発環境には、Xcode 6とXcode 5.1.1がありますが、
としています。
導入
導入手順。
$ [sudo] npm install -g umi-uyura/xcode-switch
sudo
は必要に応じてつけてください。
Xcodeを切り替える
コマンドは xcode-switch
ですが、短縮形として xcs
も使えます。
メイン(Xcode 6)から別の(Xcode 5.1.1)へ切り替える
$ sudo xcs 511
上記の hogehoge の部分を引数として渡すことで、 /Applications/Xcode511.app
を xcode-select
します。
xcode-select
は、メインのものを切り替えようとするとroot権限が必要なようなので、 sudo
をつけることになると思います。
別のXcodeからメインへ切り替える
コマンドに main
という引数で実行します。
$ sudo xcs main
です。
今使っているXcodeのパスを確認する
$ xcs
で表示します。
昔はXcodeのインストール先が /Developer
とかだったので、今後またインストール先やパスの構造が変更になった場合には、このコマンドで吸収できたりするかも。