XcodeでiPhoneやiPadを実機接続したときに、Could not locate device support files と表示され、ビルドやデバッグを開始できないことがあります。
このエラーは、Xcodeが接続端末のiOSまたはiPadOSに対応するデバイスサポート情報を利用できないときに発生します。特に、端末側のOSだけを先に更新した場合や、古いXcodeを使っている場合に起こりやすいエラーです。
主な原因
- 使用中のXcodeが接続端末のiOS / iPadOSをサポートしていない
- Xcodeのインストールや更新が不完全
- 端末との接続情報やDeveloper Disk Image関連のキャッシュに不整合がある
- 複数のXcodeを入れており、古いXcodeが選択されている
- ベータ版OSと正式版Xcodeなど、組み合わせに互換性がない
代表的な発生状況
典型例は、iPhoneを新しいiOSへアップデートした直後に、以前から使っていたXcodeで実機実行しようとした場合です。
Could not locate device support files.
This iPhone is running iOS XX.X, which may not be supported by this version of Xcode.
最初に確認すること
1. Xcodeのバージョンを確認する
Xcodeのメニューから Xcode > About Xcode を開き、現在のバージョンを確認します。
ターミナルから確認する場合は次のコマンドも使えます。
xcodebuild -version
2. iPhone / iPadのOSバージョンを確認する
端末の 設定 > 一般 > 情報 でiOSまたはiPadOSのバージョンを確認します。
3. Apple公式のXcode対応表を確認する
Apple Developerの「SDKおよびシステム要件」では、各Xcodeが対応するSDK、デプロイ対象、デバイスサポート範囲を確認できます。端末OSが現在のXcodeのデバイスサポート範囲に入っているかを確認してください。
解決方法1:Xcodeを対応バージョンへ更新する
最も基本的で安全な解決方法です。接続端末のOSを現在のXcodeがサポートしていない場合は、対応する新しいXcodeへ更新します。
Mac App StoreまたはApple Developerから、使用中のmacOSで動作する対応Xcodeを入手します。
注意:Xcodeには必要なmacOSバージョンがあります。Xcodeだけを更新できない場合は、macOSの更新が必要になることがあります。
解決方法2:使用するXcodeを切り替える
複数のXcodeをインストールしている場合、コマンドラインツールが古いXcodeを参照していることがあります。
現在選択されているDeveloper Directoryを確認します。
xcode-select -p
例えば新しいXcodeを /Applications/Xcode.app に置いている場合は、次のように切り替えます。
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
切り替え後にもう一度確認します。
xcodebuild -version
解決方法3:Xcodeと端末を再起動して再接続する
Xcodeを終了し、iPhoneまたはiPadのUSB接続を外します。その後、Macと端末を再起動し、端末のロックを解除した状態で再接続します。
「このコンピュータを信頼しますか」と表示された場合は、内容を確認して信頼を選択します。
解決方法4:Devices and Simulatorsで端末状態を確認する
Xcodeで Window > Devices and Simulators を開き、対象端末が正常に認識されているか確認します。
準備中や接続エラーの表示が残っている場合は、しばらく待ってから再接続してください。OS更新直後は、Xcode側でデバッグに必要な準備処理が行われることがあります。
解決方法5:DerivedDataを削除する
このエラーの主原因はXcodeと端末OSの非対応ですが、更新後も異常が続く場合はDerivedDataを削除してビルド環境を整理します。
rm -rf ~/Library/Developer/Xcode/DerivedData/*
その後Xcodeを再起動し、再度ビルドしてください。
DerivedDataの削除後はインデックス作成やビルドに時間がかかることがあります。
解決方法6:ベータ版OSを使用している場合
端末にiOSやiPadOSのベータ版を入れている場合、正式版Xcodeでは対応していないことがあります。この場合は、そのOS世代に対応したXcodeベータ版が必要になることがあります。
ただし、開発環境を安定させたい場合は、正式版OSと正式版Xcodeの組み合わせを使用する方が安全です。
非推奨:DeviceSupportを他のXcodeから手動コピーする方法
古い情報では、別のXcodeからDeviceSupportフォルダをコピーする方法が紹介されることがあります。しかし、現在はXcodeとOSの内部構成やデバッグ関連コンポーネントが変化しているため、恒久的な解決策としては推奨できません。
原則として、AppleがそのOSを正式にサポートしているXcodeへ更新してください。
それでも直らない場合
次の順に切り分けると原因を特定しやすくなります。
- Xcodeのバージョンを確認
- 端末OSのバージョンを確認
- Apple公式のDevice Support範囲を確認
- xcode-selectで参照先を確認
- Macと端末を再起動
- USBケーブルやUSBポートを変更
- Devices and Simulatorsで端末状態を確認
- 必要なら対応するXcodeへ更新
まとめ
Could not locate device support files は、Xcodeが接続端末のOSに必要なデバイスサポート情報を利用できないときに表示されるエラーです。
まずXcodeと端末OSのバージョンを確認し、Apple公式の対応範囲に入っているかを確認してください。非対応であればXcodeの更新が最優先です。対応済みなのに発生する場合は、Xcodeの選択先、端末接続、再起動、DerivedDataなどを順番に確認すると解決しやすくなります。
