読者です 読者をやめる 読者になる 読者になる

プログラミングの独学で人生は変わるのか?(Swift)

アラサーがプログラミングを勉強するブログ。いまはSwiftやってます。

Xcode8.0に更新したらシミュレータでアプリのビルドができなくなった時の対処法

Xcode Xcode-Simulator

SPONSORED LINK

SPONSORED LINK

Xcode8.0に更新したらシミュレータでアプリのビルドができなくなったので、その対処法をメモしておきます。

 

 

問題発生の経緯

Xcode8.0にアップグレードしました。

そしたら、今までシミュレータでiPhone4から6sまで一覧が出てきて、好きなデバイスを指定してアプリをビルドできていたのに、「Generic iOS Device」しか選択できなくなっていました。

 

Generic iOS Device

 

この状態で起動しようとしても、以下のメッセージが出てビルドできない。

A build only device cannot be used to run this target.

A build only device cannot be used to run this target.

No supported iOS devices are available. Connect a device to run your application or choose a simulated device as the destination.

 

「Generic iOS Device」の下にあるAdd Aditional Simulaterを押すと、これまで選択できていた各世代のiPhoneが表示されますが、これをクリックしてもそのデバイス情報が表示されるだけで、これでビルドできるわけではありません。

 

シミュレータ一覧

 

左下の+ボタンを押しても、機種、OSのバージョンを自分で指定したデバイスがここに表示されるようになるだけで、ビルドに使えるデバイスとして追加されるわけでもない。

 

解決法

原因はアプリのOSのバージョンがシミュレータのOSのバージョンより新しいものが指定されていたことでした。

アプリ側では、Development Targetが9.1に、シミュレータの方では各iPhoneのiOSは9.0になっていたため、これらのシミュレータが使えなくなっていたのです。

 

Development Target

 

Xcodeを更新したことで、どちらかバージョンが勝手に変わって、このミスマッチが起こったのでしょう。この辺の細かいバージョンはあまり意識してなかったので、どちらが変わったのかはわかりませんが。

 

対処法としては、アプリ側のDevelopment Targetをシュミュレータ側に合わせる(バージョンを下げる)か、Add Aditional Simulater→Devicesウィンドウ左下の+ボタンを押して、アプリより新しいiOSのシミュレータを新しく作成・追加してやることですね。

 

せっかくなんで、iOS10のiPhone7を作ってみました。

iPhone7作成

 

無事、シミュレータとしてiPhoneが表示されるようになりました。

シミュレータでiPhoneを指定できるようになった

 

ご参考になれば幸いです。