lipo を使用してバイナリを変更すると、コード署名が一致しなくなります。そのため、後でバンドルを再設計する必要があります。
Xcode 4.4 以前でビルドされたアプリは、iOS 6 デバイスでも問題なく動作します。また、Apple が iOS 5.1 SDK で作成されたアプリを引き続き受け入れているという報告もあります。
Objective C では、Objective C ランタイムを介して名前で呼び出すことにより、リンクされた古いフレームワークにはない新しい API の一部を使用できます。(もちろん、アプリは最初に現在のデバイスで利用できるかどうかを確認する必要があります!)
アプリ バンドルに高さ 568@2x の既定の画像を含めるだけで、以前の Xcode および iOS-6 以前の SDK から新しい iPhone 5 ディスプレイをサポートし、アプリのすべてのウィンドウとビューのサイズとサイズ変更プロパティを適切に設定することもできます。更新: Apple は、この方法で作成されたアプリを iTunes App Store に提出することを受け付けなくなりました。
追加: 別の潜在的な解決策は、開発を 2 つの同様のアプリに分割することです。1 つは iOS 4.3 以降用です。1 つは iOS 4.2.x 以下用で、iOS 6 と iPhone 5 はサポートされていません。アプリ ストアの 2 つの異なるアプリ。ただし、Apple がこれを許可するかどうかは不明です。