2015年12月5日土曜日

Xcode 7.1.1 で iOS7 のシミュレータを動かす方法

覚書として Xcode7 から、シミュレータの対応する iOS のバージョンが 8.4 以降になったようだ。
実際、iPhone4s iOS7 の組み合わせでシミュレータを実行しようとすると、
The iOS 7.1 simulator runtime is not available. Unable to open liblaunch_sim.dylib. Try reinstalling Xcode or the simulator runtime.
のエラーがでて実行できない。
Apple 自体が古い OS のサポートは切っているので、古い OS に対応したアプリなんか作るなと言うことだろうか。
確かに、古い端末をずっと使われたら商売上がったりだもんね。

とはいえ、世の中そう甘くない。
慣れ親しんだ端末をアップデートせずに使う人もいるわけで、最近では買い替え後の端末を有効利用してやろうと考える人もいる。
だから Apple よもう少し寛容になってくれ。。。
(MS なんて VB6 のサポートまだやってるんだぞ)

さて、本題だが、この状態が発生したが、自分では実機を持っているので最悪シミュレータを使用しなくても良い環境にある。
なので、調査はしたけど試してないので、どうしても必要になったら実行に移そうと思う。
参考にしたのは以下のサイト

Xcode 7 付属のシミュレータに iOS 7.1 シミュレータを登録する
http://qiita.com/msa_uccky/items/f6ed080e5d723d4c0793

How can I run the iOS 7.1 Simulator in Xcode 7.0 beta 2?
http://stackoverflow.com/questions/31056634/how-can-i-run-the-ios-7-1-simulator-in-xcode-7-0-beta-

安定の Qiita と Stackoverflow 凄いサイトだ。
この記事を読むと、エラー文にも有った liblaunch_sim.dylib が古い OS に対応していないので、Xcode7 アプリ内にある iOS7 のファイルを使用するように変更する手順が書かれている。

というかみんなどうやってこういう情報を得るのだろうか。探究心が足らないのだろうか?

最終的には以下の様にすれば良いらしい

1. 現在 /Library/Developer... にある liblaunch_sim.dylib をバックアップ
$ sudo mv "/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 7.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/host/liblaunch_sim.dylib"{,.bak}

2. Xcode アプリ内にある liblaunch_sim.dylib を上記の /Library/Developer... にシンボリックリンクを張る

$ sudo ln -sf "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/system/host/liblaunch_sim.dylib" "/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 7.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/host/liblaunch_sim.dylib"
これで、iOS7 のシミュレータが動くはず。

0 件のコメント:

コメントを投稿