2011-07-29 9 views
1

xcode 4には基本SDK 4.3があります。私は3.0に展開ターゲットを設定しました。私のアプリは4.3ベースSDKで美しく動作しますが、古いバージョン、主に3.x SDKに対してどのようにコンパイルすればよいでしょうか? SDKを提供するダウンロードリンクが見つかりません。アップルのデベロッパーサイトでは、xcode 3のダウンロードリンクは、最新の4.3、iOS SDKにのみバンドルされています。私は3.0のどちらかを持った実際のデバイスを持っていません。私の仮定は、3.xでの互換性を検証する唯一の方法は、SDK(3.x)に対してコンパイルすることです。別のiOS SDKでiphoneアプリを編集する

おかげ

編集:4.xのSDKとXcodeで実行されているの3.x SDKを入手 - http://0xced.blogspot.com/2010/07/using-sdk-313-with-iphone-sdk-4.html

答えて

2

あなたはあなたをできるようになります、下のSDKを3.0へのデプロイメント・ターゲットにだけ設定を、それをコンパイルしてはなりませんappを実行しているデバイスで実行する*。シミュレータはこれまでのところあなたを得るだけで、あなたのアプリがコンパイルされてもそれが実行されるわけではありません。

古い第一世代のiPhoneやiPod touchを手に入れようとすると、開発に最適です。

SDKの更新版を使用する場合は、下位システムバージョンでは使用できないメソッド/クラスを呼び出さないようにしてください。

+0

こんにちはrckoenesなので、4.3ベースSDKは3.x iOSと互換性がありますか?私が使用している3.xで動作できない関数が4.3であればどうなりますか? – Alede

+0

あなたのアプリケーションがクラッシュするので、存在しないかもしれないメソッドを呼び出すときは、 'respondsToSelector:(SEL)aSelector;'を使ってそのメソッドを呼び出すことができるかどうかを確認してください。 – rckoenes

+0

はい、これは私の質問に戻ってきます..関数のx(4.3 SDKの現在のバージョン)が3.xで動作するかどうかを判断するために、私は3.x SDKに対してコンパイルする必要があります。そのsdkに手を差し伸べる? – Alede

0

これは正確な答えではありませんが、私はあなたの同じ問題を抱えていました。私はiPad 3.2シミュレータでこのアプリケーションを実行しました。私はxcodeバージョン4.0.1を持っており、それはiPad 3.2シミュレータを持っています。しかし、問題はそれがまだコンパイルされている(少なくとも私のコンパイル)が、アプリケーションが実行されるとき、それは前のSDKに存在しないセレクタに遭遇したときにSIGABRTを出すということです。メソッドの1つはself.window.rootViewControllerで、これはiOS4以上でしか見つかりません。

関連する問題