iPhoneアプリを勉強しているわけですが、気がつけばiPhone実機でのデバッグが出来なくなっていました。
「供給されるiPhoneが接続されていません」というエラーが出て実行すら出来ないのです。
いろいろ調べてみるとiPhone 3GSのOSバージョンを3.0.1に上げていた事を思い出し、調べてみたところ3.0.1に対応するためには、OSのバージョンがついたSDKフォルダを使わないといけないようです。
アップルからは以下のコマンドを実行しろと説明がありました。
ln -s /Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.0\ \(7A341\) /Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.0.1
つまりはシンボリックリンクを作れという事ですが、実行したところ、うまく動作するようになりました。パスを見ると分かるとおり、開発にSDK3.0を利用する場合に3.0.1のパスを作成してSDK3.0パスにリンクしているだけです。
それにしても、もう少しマシなエラーメッセージを出してくれればいいのになぁ。
以下余談ですが、iPhoneシミュレータのSafariのUserAgentを調べてみました。
実行環境 | User Agent |
---|---|
iPhoneシミュレータ(Mac OS X) | Mozilla/5.0 (iPhone Simulator; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7A341 |
iPhone 3GS 3.0.1 | Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0_1 like Mac OS X; ja-jp) AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7A400 |
実機の方は「7A400」、シミュレータの方は「7A341」のみたいです。