ユーザーを切り替える方法で Xcode の異なるバージョンを使い分ける

## 背景

WWDC の後しばらく、現状の最新版の Xcode と 最新のβ版 Xcode を共存させたい、もしくは共存させなければならない開発者の方々も少なくないと思います。普通に Application フォルダ内に Xcode と Xcode-beta を同居させている人もいるかと思いますが、既存のプロジェクトを意図せず Xcode-beta で開いてしまって、プロジェクトファイルが勝手が勝手に更新されて、青ざめた経験のある方も少なからずいるかと思います。

もちろんバージョンコントロールされていれば問題ないはずという人もいるかもしれませんが、作業の途中にちょっとした出来心や事故でアップデートされてしまったり、やっぱり細心の注意を常に必要とする事が要求されます。VMWare や Parallels で仮想環境を用意する手もあるでしょうが、 CPUパワーを必要とする Xcode を動作させるにはパフォーマンスが問題になります。

## β版Xcode専用のユーザーアカウントを用意する方法

今回は、同じ Mac 内に別のユーザーアカウントを用意する方法で 異なるバージョンの Xcode を同居させる方法を紹介したいと思います。そして、β版のXcode は特定のユーザーしかアクセスできないアクセス権を持った状態にしておく事で不意に起動される事を防ぎます。


### Shared フォルダ

まずあらかじめダウンロードした β版のXcode を共有フォルダにコピーまたは移動させましょう。

![Screen Shot 2016-08-06 at 9.02.39 PM.png](https://qiita-image-store.s3.amazonaws.com/0/65634/b0140ed0-5ac3-a9de-45de-9d7255171306.png)

### 新しくユーザアカウントを作成

<img width="668" alt="Screen Shot 2016-08-06 at 8.54.01 PM.png" src="https://qiita-image-store.s3.amazonaws.com/0/65634/d1715042-2fa9-5720-0b4a-e3c93dc5d1c5.png">

権限は後で色々面倒なので「Administrator」にしておきましょう。今回はユーザーアカウントの名前を「beta」としてみます。

### 新しいユーザーでログイン

<img width="512" alt="LWScreenShot 2016-08-06 at 8.55.14 PM.png" src="https://qiita-image-store.s3.amazonaws.com/0/65634/f33866b8-0507-4c43-9718-74cc18d02591.png">

### ホームディレクトリ内に 「Xcode-beta」を解凍して移動

![Screen Shot 2016-08-06 at 9.10.58 PM.png](https://qiita-image-store.s3.amazonaws.com/0/65634/6f6313d5-755f-4cee-a913-9ac77962ae22.png)

<font color="silver">アプリケーションフォルダ内に同居しても構いませんが、以下のアクセス権は適切に設定しましょう。</font>

### Xcode-beta にアクセス権を設定します。

<img width="320" alt="LWScreenShot 2016-08-06 at 8.55.14 PM.png" src="https://qiita-image-store.s3.amazonaws.com/0/65634/6fa4467d-43e5-5232-95f4-11b917484ab8.png">

この場合「beta」には読み込みアクセス権を設定し、「everyone」には「No Access」を設定します。これで、他のユーザーはこの「Xcode-beta」を開く事が出来ません。

### Xcode-beta のアクセス権

Xcode-beta を解凍・起動し、Components のインストールなどを行います。

<img width="481" alt="Screen Shot 2016-08-06 at 9.17.03 PM.png" src="https://qiita-image-store.s3.amazonaws.com/0/65634/b34ba4fe-72ef-3446-46eb-5b9a39fbb6e8.png">

<img width="481" alt="Screen Shot 2016-08-06 at 9.17.03 PM.png" src="https://qiita-image-store.s3.amazonaws.com/0/65634/a63df068-46aa-8ffd-56c1-a8fdcfb12048.png">

### Xcode のアクセス権

今度は、通常のアカウントにログインをして、Xcode のアクセス権を設定します。本当は「beta」アカウントのみアクセス不可という設定がしたいところですが、それができないので、「everyone」を「No Access」にして、本来の自分のアカウントを「Read Only」にします。

<img width="265" alt="Screen Shot 2016-08-06 at 9.32.23 PM.png" src="https://qiita-image-store.s3.amazonaws.com/0/65634/ecd71cef-af85-fc2b-92e3-85b81f644ed8.png">

### ユーザーを切り替えた際は

ユーザーを切り替えた際は、思い通りのツールセットになっていない場合もあるので、注意しましょう。その場合、適時、Preference > Locations > Command Line Tools からは、適切なツールセットを選んでください。

<img width="750" alt="Screen Shot 2016-08-06 at 9.23.28 PM.png" src="https://qiita-image-store.s3.amazonaws.com/0/65634/12478301-9d87-b96d-564b-1dad6a80dbb4.png">

<img width="362" alt="Screen Shot 2016-08-07 at 1.01.12 PM.png" src="https://qiita-image-store.s3.amazonaws.com/0/65634/d5b1363a-bfbf-e8d0-6a08-9a87fb452e4d.png">

このようにして、ユーザーを切り替える事で Xcode の環境を切り替える事が出来るようになります。もっとも、Xcode のプロジェクトのフォルダーなどのアクセス権にも気をつけて下さい。ホームディレクトリ内にあっても意外と、他のユーザーへの Read アクセス権は付いている場合があるので注意が必要です。

## 不要になったアカウントは

そして最後に不要になったアカウントは削除します。必要なプロジェクトやファイルは事前に取り出しておきましょう。

<img width="480" alt="Screen Shot 2016-08-06 at 9.23.28 PM.png" src="https://qiita-image-store.s3.amazonaws.com/0/65634/4695c550-7bbd-059f-f269-10d40db6eb10.png">


## 最後に

このように、ユーザーを切り替える事で、Xcode を共存する方法もあるので、興味のある人は参考にしてください。またβ版が正式版になった後は、逆に旧版のアカウントを用意して同様に異なるバージョンを共有する事も可能です。

数年前であれば、ユーザーを切り替えるとメールなどコミュニケーションツールなども切り替えなくてはならなくて面倒だった事もありますが、近年ではiPhone や iPad にも同等のツールがすでに入っていて、ユーザーを切り替えても、さほど気にならないのではないかと思います。