XcodeでiPhoneアプリを作れるようになるまで＜環境整備＞

# 前書き
MacBook Proを買ってから早6年。すでに時代遅れになっている端末ではあるが、
これを機会にiPhoneアプリを作ってみようと考えました。
快適な開発環境を構築するために色々準備をしたので備忘録として残しておきます。

# OSアップデート
元々インストールされていたOSはHigh Sierra。
なんと2020年以降セキュリティアップデートされていない。時代遅れにも程がある感。
IT企業に勤めるサラリーマンとしてあるまじき対応です。会社のPCでやったら始末書もんですね。

本来は最新OSであるVenturaにすべきですが、MacBook ProのEarly 2015モデルはサポート対象外のためインストールできず。
一つ前のMontereyをインストールしましょう。

まずは基本中の基本として、タイムマシンにより外付けHDDにバックアップを取っておきます。
ネットの記事を見ると、タイムマシンから復元出来たり出来なかったりとあやふやな様子。
High SierraからMontereyという5段飛ばしのアップデートは大変危険が伴います。神に祈りましょう。

さて、App StoreからMontereyのインストーラーをダウンロードしたものの、
空き容量を20GB空けろと無茶難題を突きつけてきます。神はいなかった。
なんせお古いMac様ですのでSSDは128GBしかございません。
XCodeやらGarageBandやらは一旦アンインストールしてなんとか容量を確保しました。

「このMacについて」→「ストレージ」から管理を選択すると空き容量を空けるのに便利なツールが開きます。
![スクリーンショット 2023-09-02 12.13.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3550862/61d2be35-dc6e-5370-32a8-da03f89f0f36.png)


結果的には、何も問題は起きずにアップデートは完了しました。
所要時間は1時間から2時間程度。
ほとんどサードパーティソフトもハードも導入してない素のMacだったので、それが功を奏したと思いましょう。
見た目の変化はログインアイコンがデカくなったくらいのもんです。
Safariで開いてたタブとかもそのまま残ってた。すげーぜMac。

# 入力デバイスを整えましょう
Macのキーボードやトラックパッドは、そのままでも大変使い易いと思います。
特に2015年のMacBookは、キーストロークがそこまで浅くなく、それなりにタイピング感があります。
(確かこれ以降のMacBookはかなりキーストロークが浅いものになって、熱心なマカーとそれ以外との熾烈な賛否両論を巻き起こしていましたね。)

世の中にはMac専用のキーボードやマウスもありますが、当然ながらここはWindows用を流用します。

マウス：普通の光学式2ボタンマウス
キーボード：Microsoftのワイヤレスキーボード

### <マウス>
USBを繋いだだけで認識しました。
しかし速攻で違和感。マウスのスクロール方向が逆です。

Windowsの操作に合わせるために、「システム環境設定」→「マウス」より
「スクロールの方向：ナチュラル」のチェックを外します。
しかし、この設定を変更するとトラックパッドでの操作も逆になります。
![スクリーンショット 2023-09-02 12.39.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3550862/ff53e230-209d-aba8-871d-9b3f7efbe053.png)

さらに、Macのトラックパッドとの違いとして、三本指での画面切り替えが使えない点があります。
最大化したアプリは三本指での画面切り替えで主に操作してたため、この操作が使えないと大変不便です。

「システム環境設定」→「Mission Control」でMission Controlにマウスボタン3(中央マウスボタン)を割り当てます。
これにより、画面切り替えがマウスのみで可能になりました。
![スクリーンショット 2023-09-02 13.19.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3550862/abb8ef92-b40a-f094-ad79-73576d9f081f.png)


### <キーボード>

キーボードですが、見た目からしてWindowsとは修飾キーが異なります。
デフォルトでは以下のようにキーが対応しているようです。
| Mac | Windows |
|:-:|:-:|
|command|Windowsキー   |
|option|Alt   |
|control   |Ctrl   |

しかし、これでは物理的なキー配列が異なるためタイプミスの原因となりますね。
そこでいっそのことMacのキーボードと全く同じ配列にしてしまいましょう。

Karabiner-Elementsというキーアサインをカスタマイズできる素晴らしいアプリケーションがあります。
以下のURLでダウンロードが可能です。

https://karabiner-elements.pqrs.org

![スクリーンショット 2023-09-02 13.10.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3550862/157b348b-a4c4-b736-d4a6-c6484cc086cf.png)

「Download v14.12.0」を選択します。
ダウンロードしたファイルを起動してインストールします。

このアプリケーションは入力を監視するので、「システム環境設定」でいくつか許可を与える必要があります。
「セキュリティとプライバシー」の項目でkanabiner_のアプリケーションにチェックをつけましょう。

![スクリーンショット 2023-09-02 13.13.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3550862/fbf5ae19-8193-a7e5-fe9a-b87507154f96.png)

SimpleModificationsで対応するキーアサインの設定を行います。
ここは何も考えずにMacのキーボードと同じ配列になるように設定しましょう。

![スクリーンショット 2023-09-02 13.11.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3550862/980c1f57-c845-6d81-d8ac-b4749569e071.png)

ここまで設定できれば、ほぼMacと同じ操作感で入力ができました。
しかし、メールアドレスを入力しようとした時にまた違和感。
「@」が打てず、「[」が入力されます。原因はキーボードがANSI配列として認識されているため。

キーボードを接続したときにJIS配列として設定したはずですのでどうもおかしい。
原因はKarabiner-ElementsがANSI配列として、キーボードの設定を上書きしていました。
Virtual Keyboardの設定で「JIS(Japanese)」に変更することで、正しく入力ができるようになりました。

![スクリーンショット 2023-09-02 13.25.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3550862/204481ff-18ad-d0c7-ee26-598fa23c4e6b.png)


これでXcodeで開発可能な環境が整いました。