化石と化したMacと、化石と化したXcodeで２年ぶりの実機ビルドができなかったおじいさんの話

# 2年ぶりに実機（iPhone）ビルドしてMacとXcodeに怒られた一連のこと

おじいさんが蔵から発掘してきたMacBookProで実機ビルドしようとした時、とにかく怒られてしまいました。

>【アップデート前のバージョン】
・iPhoneSE　: iOS 13.5 (これだけ最新。機種はともかく) 
・Mac OS　: 10.14(Mojave)
・Xcode　: 10.1
・swift　: 4.2.1

新しいのもあるのに他が古いままでは問題も玉突き的に起こるもの。
:older_man_tone1::sweat_drops:
困ったおじいさんは山へ芝刈りに行き、１つ１つ解決していきました。

# 玉突き事故一覧

:herb: Xcodeに、デバイスのサポートファイルが無いと怒られる
:herb: Xcodeのアップデートが進まなくなる
:herb: MacOS Catalina 10.15.3アップデートファイルの実行で怒られる
:herb: 無事MacOSとXcodeの最新をインストールするも、実機ビルド時にアプリインストールできない


# 教訓
- 結論として、実機iOSが最新なのでMacOSとXcodeも素直に最新にしてれば今回のほとんどは起きなかったと思います。
- あと、iPhoneのストレージに余裕を持つこと・・・。何気に最後の整理が時間かかりました。


# Xcodeにデバイスのサポートファイルが無い、と怒られる
ビルドでこんなメッセージがでていた。
>Could not locate device support files.
>This iPhone SE is running iOS 13.5, 
>which may not be supported by this version of Xcode.

XcodeにiPhone側のiOS(13.5)に対応するファイルが無いとのこと。

## 対応:herb::pick:
以下から該当OSのサポートファイルをDLし、
https://github.com/filsv/iPhoneOSDeviceSupport
> /アプリケーション/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/

上記ディレクトリに配置・・・してもお爺さんの場合解決しなかった・・・！
まあ、それ以前に色々最新にした方が後々面倒ないかと思いXcodeをアップデートすることに。

# Xcodeのアップデートが進まなくなる

アップデートリストに何故か表示されなかったのでストアで検索して見つけ、アップデートボタンを押すが進まない。

## 対応:herb::pick:

おそらく、おじいさんの場合はMacOSが古かったせいです。
アップデートが進まなかったのでXcodeを一旦消して再インストールしようとした際に、
「macOSがCatalina 10.15.3でないとダメ」と言われたのでした。

# MacOS Catalina 10.15.3アップデートファイルの実行で怒られる

現在MacOSがMojave10.14だったので、まずはCatalina 10.15にアップグレードしなさいとのこと。
せっかちなおじいさんはアップグレード前にアップデートファイルをダウンロードしてきて実行していたので、怒られてしまいました。
## 対応:herb::pick:
Windowsもそうですよね。
Win7からWin8.1に飛び越えることはできず、
Win7からWin8にまずアップグレードして、8.1にアップデートするように・・・。
Catalinaは以下でアップグレードを行いました。終わってみると、10.15.3どころか10.15.5になっていました。
（普通にしていれば、PCにアップグレード通知がくるので無視してなければこんな事にならないんですが。）
https://apps.apple.com/jp/app/macos-catalina/id1466841314?l=ja-jp&mt=12
しかし、OSは新しければいいというわけでもなく、今回の場合32ビットアプリが使えなくなるとか色々あるみたいです。
アップグレード前に、ご自身でお調べの上ご判断を・・・。

# 無事MacOSとXcodeの最新をインストールするも、実機ビルド時にアプリインストールできない
一歩前進したものの、アプリをインストールできないと言われる。
<img width="418" alt="スクリーンショット 2020-05-31 16.09.06.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308206/8ea64f91-3034-e677-0ff7-1aa52ba950a8.png">
Detailsを押してみると以下のメッセージが。
>The maximum number of apps for free development profiles has been reached.

無料開発プロファイルのアプリの最大数に達しました。とのこと。
たしかに、Apple Developer Programの有料登録をしていないと実機にいれられるアプリは３つまでなのですが・・・。前にお試しで作った分はすでに削除済でした。
なのに何故かこのメッセージが表示されるのです。

## 対応:herb::pick:
Xcodeのメニューから、Window -> Devices and Simulators -> OpenConsoleする。
もう一度ビルドしてみると、同じようなエラーがコンソールにでていた。
>[MIFreeProfileValidatedAppTracker _onQueue_addReferenceForApplicationIdentifier:bundle:error:]: 182:
 This device has reached the maximum number of installed apps using a free developer profile

しかし何やら下の方に、該当のアプリケーションの名前が色々書かれている。
該当のアプリは最近使っていないものの、AppStoreからいつかインストールしたものたちばかり。
なぜこの公式アプリ達がここにでてくるのか？？と思いiPhoneを見ると、
![IMG_6370.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308206/ef1bdb9f-bac7-3b44-6d5f-6059c4f20c43.jpeg)


**なんじゃろ・・・この雲マーク:older_man_tone1::sweat_drops:**

どうもiOS11から、「非使用のAppを取り除く」という機能が追加されていたらしく、
「アプリは削除するけど、アイコンとデータは残っている。」という状態になっていたらしい。
おじいさんのギチギチiPhoneのストレージの空き容量は、ひそかにこの機能に守られていたみたいです。
何故これが、アプリ上限の妨げになっているかはよくわからないのですが・・・。
開発アプリのカウントを阻害しているようではあります。

アイコンを押して再インストールすればとりあえずこのエラーからはいなくなる事がわかり、ぽちぽちしてると・・・。
:older_man_tone1::sweat_drops:＜一体、何個あるんじゃ
<img width="320" alt="IMG_6371.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308206/6643e49b-ed33-19ca-6945-3d92c0b652bc.jpeg">

はぁ！ストレージが足りない・・・。
泣く泣く、ストレージの半分を占める写真や動画をPCに写してから整理しました。


# そしてビルドへ・・・
無事アプリがインストールできました。
開発元の信頼を押すのも忘れずに。
(iPhoneの設定 -> プロファイルとデバイス管理 -> デベロッパAPP)

きっとまた時間を空けたら同じような事をおじいさんはするんだろうな。と思い備忘録でした。