プロジェクトをビルドするときにarmv7アーチについて文句を言うサードパーティライブラリ(ZBar)があり(ターミナルで、xcodebuildを使用)、ビルド設定で有効なアーキテクチャをarmv6(のみ)に設定する必要があります。
質問:armv6に設定されたアプリはiPhone 3GS以降のデバイスでも実行できますか?
プロジェクトをビルドするときにarmv7アーチについて文句を言うサードパーティライブラリ(ZBar)があり(ターミナルで、xcodebuildを使用)、ビルド設定で有効なアーキテクチャをarmv6(のみ)に設定する必要があります。
質問:armv6に設定されたアプリはiPhone 3GS以降のデバイスでも実行できますか?
はい、ARMv6コードはARMv7デバイスで実行されますが、その逆はありません。これをテストするには、長期間更新されていないアプリを新しいiPhone 5にダウンロードすると、完全に正常に動作するはずです(網膜が最適化されていない場合)。
これは、2つの命令セットには下位互換性がありますが、上位互換性がないためです。ただし、Xcode 4.5ではARMv6コードをコンパイルできないという制限があるため、ARMv6はそれほど問題にはなりません。
iPhone 3GSは、実際にはARMv7を使用するiOSデバイスリストの最初のものであることに注意してください。これは、iOS 6を実行できる最も初期のデバイスであるという事実からわかります(ARMv7が必要ですが、唯一の例外は第1世代のiPadです)。 iOS 4.3以降をターゲットにしている限り、ARMv6をサポートする必要はまったくありません。
ARMv6である唯一の4つのデバイスは(iPhone 2G、iPhone 3G、iPod、iPod 2G)です。これらのデバイスはすべて今までに交換されているはずですが、そうでない場合でも私たちの責任ではありません。