【Xcode】macOS Sequoia で Xcode15が起動できない問題
初めに
visionOS の開発を進める中で、macOSをアップデートしなければ使用できない機能が出てきたので、「macOS Sequoia 15.1 Developer Beta」にアップデートしたところ、今まで使用できていた Xcode15.4 が使用できなくなる問題が発生しました。
これにより iOS Simulator も使用できなくなり、解決にかなり時間をとってしまったので、同じ問題にハマる人が減るようにメモとして書き残しておきたいと思います。
課題
- macOS Sequoia 15.1 Developer Beta の環境下で Xcode 15 が使用できないこと
macOS のアップデートを行った時点で Xcode 15 のアイコンに使用できないことを伝えるマークが表示されていました。
Sequoia 15.1 に対応するバージョンをインストールすれば良いかと思い、 AppStore からインストールして開こうとすると以下のような表示になりました。
インストールした Xcode 15.4 は Xcode 15系では最新のものだったので、八方塞がりになってしまいました。
実現したいこと
- macOS Sequoia 15.1 の環境下で Xcode 15.4 と対応する iOS Simulator を使用すること
Flutter での開発で iOS 側のUIや挙動を確認する必要があるため、iOS Simulator を使用することがゴールです。
解決方法
以下の2ステップで解決しました。
- Xcode15.4 をターミナルから開く
- VScodeから iOS Simulator を認識できるように設定を変更
1. Xcode15.4 をターミナルから開く
こちらの記事 を見ると、ターミナルから古いバージョンの Xcode を開けることがわかり、以下の手順を試しました。
1. 古いバージョンの Xcode をダウンロード
もし使用したい Xcodeのバージョン(今回は15.4)をダウンロードしていない場合はAppleのダウンロードサイトからダウンロードします。
2. ダウンロードした Xcode の名前を変更、移動
ダウンロードした古いバージョンの Xcode と最新バージョンの Xcode を区別するために、古いバージョンの Xcode の名前を変更します。手元では「Xcode_oldVersion」という名前に変更しました。
次に、ダウンロードした古いバージョンの Xcode をダウンロードディレクトリからアプリケーションディレクトリに移動させます。
3. ターミナルから開く
ターミナルのホームディレクトリで
以下のコマンドを実行することで古いバージョンの Xcode を開くことができるようになります。
open /Applications/Xcode_oldVersion.app/Contents/MacOS/Xcode
2. VScodeから iOS Simulator を認識できるように設定を変更
古い Xcode をダウンロードした状態で VSCode からアプリを実行しようとすると以下のようなエラーになります。
iOS 17.5 is not installed. To download and install the platform, open
Xcode, select Xcode > Settings > Platforms, and click the GET button for the
required platform.
これは対応する iOS のランタイムがインストールされていないことを示しています。
この解消のためにはエラー文に従って、古いバージョンの Xcode の上部バーの Xcode > Settings を押下します。すると以下のようなダイアログが開くので、「Platforms」の部分から「iOS 17.5」を選択してインストールします。(以下の画像だと既にインストールされていますが...)
ちなみに、Flutterの場合は実行したいプロジェクトのディレクトリのルートから ios > Runner.xcodeproj のファイルを古いバージョンの Xcode から開くことで以下のような画面になります。
実行したい iOS のランタイムがない場合は「GET」ボタンを押すことで同様にインストールが開始されるようになります。
iOS ランタイムのインストールが完了したら、古いバージョンの Xcode で iOS Simulator が動作するようになります。
最後に、VSCode などからアプリを実行する場合はもうひと手順加える必要があります。
今の状態で VSCode を開いてアプリを実行しようとしても「Start iOS Simulator」が表示されずに、アプリを実行できないかと思います。
この原因は、 VSCode が参照しているシミュレータが新しい Xcode のものになっていることです。
それを解決するために以下のコマンドを実行します。
このコマンドでは、使用する Xcode を新しいものから古いものへ切り替えています。
sudo xcode-select --switch /Applications/Xcode_oldVersion.app/Contents/Developer
最後に以下を実行して、「agree」を入力します。
sudo xcodebuild -license
これで、VSCode を開いた時に「Start iOS Simulator」が表示されて、 VSCode でも使用できるようになるかと思います。
以上です。
参考
Discussion