全霊長類待望の「iOS SDK5/Xcode4環境でiPhoneシミュレータをiOS4.2 iOS4.1 iOS4.0 でデバッグする方法」がわかった

結構時間がかかったので次の人が辿りつけるよう書いておく。

問題


デフォルトの状態ではiPhone 5.1 シミュレーターしか使えない

http://gyazo.com/e632931867fbe2794dc5de3884d293da.png
"More Simulators" からダウンロードメニューにいっても、5.0 4.3のシミュレータしかインストールできない。

iOS3.0〜, iOS4.0〜のデバッグサポートコンポーネントがあるけどシミュレータではなかった(たぶん古いバージョンのままの実機を繋いでデバッグできるという内容)。

Xcode3系のインストール

Xcode 3.2.6 をインストールします

https://developer.apple.com/downloads/index.action?name=for%20Xcode%20- (ADCログイン)


http://gyazo.com/5c3e09fb63f48a044eb7a1b9f604fb44.png
今回はXcode.app まで要らないのでLion以降でもそのままインストールするだけ(Xcode.appはコマンドラインから環境変数セットしないと入らないらしい)。

iPhoneSimulator4.x.sdk ディレクトリをポートする

iPhoneSimulator.appはしかるべき場所にしかるべき構造の.sdkツリーがあれば自動で認識するという仕組みらしい、可搬性に優れた素晴しいアプリケーションの動作設計である(最初から配布しろ)。

単純にファイルコピーします。

sudo rsync -av  /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/

ここでXcodeを再起動する。

仕上げ

http://gyazo.com/1dbc140bbb17b948e370b118bb367fbd.png
Deployment Target を 4.0 にしておく。

http://gyazo.com/52915c562bc1d920ed99a81108e47001.png
実行メニューにiPhone 4.0 シミュレーターなどが表示される

http://gyazo.com/cb7049656a7449b8f5c6862aa06bfaaf.png
シミュレータ側からも切り替えられる

実機のiOSiOS4.2 iOS4.1 iOS4.0にダウングレードしてデバッグする方法は?

Jailbreak周辺の知識なんんだけど、それぞれの端末のカスタムのSHSHファイルを各iOSバージョン時点で保存しておく方法しか見当らなかった。

自分はSHSHを保存していないし、正規のデベロッパーでかつ悪用したいわけでないのになんで非公式の方法しかないんだ…… とむなしくなり実機デバッグは諦めた。