Umi Uyuraのブログ

プログラミング関連の作業ログ

xcode-selectを超軽くラッピングしたxcode-switchを作った

2015年2月以降に申請するiOSアプリは、iOS 8(Xcode 6)と64bit対応が必須になるということが発表されましたが、諸事情でまだまだXcode 5系でメンテしなければならないものがあったりしています。

とは言え、平行してXcode 6対応の見積や検証をしないといけなかったりもするので、しばらくはXcode 5と6を切り替えながら作業することになりそうです。

Xcodeは名前を分けて複数存在させることができ、 xcode-select コマンドで切り替えることができるわけですが、コマンド名も引数も微妙に長いし、毎度 Contents/Developer の部分がうろ覚えでもどかしい思いをするので、パス部分を隠蔽したコマンドを作ってみました。

umi-uyura/xcode-switch

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.appxcode-select します。

xcode-select は、メインのものを切り替えようとするとroot権限が必要なようなので、 sudo をつけることになると思います。

別のXcodeからメインへ切り替える

コマンドに main という引数で実行します。

$ sudo xcs main

です。

今使っているXcodeのパスを確認する

$ xcs

で表示します。


昔はXcodeのインストール先が /Developer とかだったので、今後またインストール先やパスの構造が変更になった場合には、このコマンドで吸収できたりするかも。