2012-04-12 7 views
2

私は、iOS 4.0ユーザーが実行できるようにする最新のSDKを含むXcode(4.3.2)プロジェクトを持っています。だからプロジェクトの設定では、iOS 4.0にDeployment Targetの値を設定しました。ターゲット設定でも同じです。Xcodeコンパイラが、私の展開ターゲットの無効なメソッドについて警告してくれないのはなぜですか?

しかし、私のコードがiOS 5+ APIコールを使用していることがわかりました。この1つ:

[self.tabController.tabBar setBackgroundImage:tabBackground];  //Invalid in iOS 4.x ??? 

コンパイラは私に警告を与えていません。それではいけない?これはiOS 4.0デバイスで実行されるとどうなりますか?残念ながら、私は現在テストしているものはありません。これにより、同じことが起こっている他の場所があり、私のプログラムが今iOS 5に結びついていることが非常に心配です。

答えて

3

"base sdk"設定を明示的に設定しない限りあなたのプロジェクトのiOSバージョンを下げてください。

残念ながら、最新のXcodeバージョンにはバージョン5.1より前のiOS SDKは含まれていないようですので、そこで4.0を選択することはできません。私は、iOS 4.0 SDKに付属のXcode 3.xの2回目のインストールをお勧めし、新しいSDKバージョンのメソッドを使用していないことを確認するために使用します。最後に、iOS開発について本当に深刻であり、サポート4.0が必要な場合(理由は?)、まだiOS 5.0にアップグレードされていないデバイスでテストする必要があります(eBayの古いiPod touchなど)。

+0

+1これは残念ですが、本当です。 – Till

+0

Base SDKの私の唯一のオプションは「iOS 5.1」です。手動でこれを設定する必要がありますか? – Bryan

+0

残念ながら、最新のXcodeで変更することはできません。古いXcodeのバージョンはいくつかのiOS SDKと共に出荷されていましたが、もはやそうではありません。 –

関連する問題