2

iOS 4.0 ユーザーが実行できるようにしたい最新の SDK を使用した Xcode (4.3.2) プロジェクトがあります。そのため、プロジェクト設定で、Deployment Target の値を iOS 4.0 に設定しました。ターゲット設定も同様です。

しかし、私のコードが iOS 5 以降の API 呼び出しを使用していることに気付きました。これです:

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

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

4

1 に答える 1

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 など)。

于 2012-04-12T19:49:57.933 に答える