🔨

XcodeからiOS実機インストール時にエラーが出る場合の対応

2020/12/09に公開

追記(2021-04-27

https://zenn.dev/sukedon/articles/0ec92289f4141a
こっちの方が簡単に解決できるかもです。

背景

iOSアプリが審査でリジェクトされた。特定条件で進行不能になるらしい。
審査時の動作環境は記事当時最新のiOS14.2だった。
手元の端末は14.2より古いものだったのでアップデートしたら、USBで端末をつないだ状態でXcode上のRunを実行してもエラーが出てしまい、インストールに失敗するようになってしまった。

エラーメッセージ

"xxx" is not available. Please reconnect the device.

解決策

  • Xcodeのバージョンを使用しているiOSのバージョンと紐付いているものに揃える
  • (↑をやっても失敗する場合は)Xcode上でDeviceのUnpairをする

バージョンの対応

どうやらXcodeのバージョンとiOSのバージョンは紐付いているらしい。

Xcode iOS
11.4 13.4
11.5 13.5
11.6 13.6
11.7 13.7
12 14
12.1 14.1
12.2 14.2

のようにiOSのバージョン-2のXcodeバージョンだと確実に動く。
つまり今回はiOS14.2に対応しているXcode12.2を入れればよいはず。
他の端末の動作確認で古いXcodeが必要になることがよくあるので、アプリケーション名をXcodeからXcode12.2にリネームして保存。

その後、Xcode12.2でインストールしようとしても同様のエラーが、、なぜ?

DeviceのUnpair

端末を初めてつないで「このコンピュータを信頼しますか?」というメッセージを出たときのXcodeが古いバージョンだと、新しいXcodeを起動して接続しても古いXcodeで接続してる認識になってしまうらしい。
Xcode上にて紐付けを一度外す必要がある。
Window > Devices and Simulators > 左の一覧から自分の端末を選択して右クリック > Unpair Device

これのあと再度接続し直したら無事にインストールできました。

余談

なお動作環境を審査時と同じものにしたけど、リジェクトされた原因のバグは再現できなかった😇

参考

https://stackoverflow.com/questions/61863826/iphone-is-not-available-please-reconnect-the-device

Discussion