私はiPadとiPhoneの両方でネイティブに実行されるユニバーサルアプリを書いています。また、古いデバイス(4.0を実行できないデバイス)をターゲットにする必要があるため、3.1は必須です。
Base SDKを利用可能な最新バージョン(4.2)に設定し、DeploymentTargetを3.1に設定しました。適切なデバイス/バージョンでのみ対応するメソッドを呼び出すために、多くのランタイムチェックを行っています。
私がiPadで利用しているものの1つは、UISplitViewControllerです。splitViewControllerデリゲートを割り当てると、クラスインターフェイスがUISplitViewControllerDelegateプロトコルを明示的に採用していないため、コンパイラは警告をスローします。そうするように宣言すると、UISplitViewControllerがない古いデバイスでアプリがクラッシュするのではないかと心配しています。 /UISplitViewControllerDelegate。
コンパイラの警告を抑制する最良の方法は何ですか?「空の」UISplitViewControllerDelegateを宣言する必要がありますか?もしそうなら、私は実行時に条件付きでそれを作ることができますか?または、対応するクラスインターフェイスをプロトコルに準拠させ、古いデバイスについて心配する必要はありませんか?
一番、