AppStoreでアプリの説明を見たときに、条件として、左側にiPod touch(第4世代)と書いているものを見かけます。どうしたらいいのか分からなかったので、調べてみました。

アプリをビルドする際に、info.plistに特定の値を定義することで、OSバージョン以外に、ハードウェアによる制限を加えることが可能です。

使用するのは、IRequiredDeviceCapabilitiesです。

以下のように定義します。下の図では、OpenGL ES 2.0をサポートしたハードに限定。


UIRequiredDeviceCapabilitiesに定義可能な値は、以下の通り。


iOS Application Programming Guideからの抜粋です。
詳細は、iOS Application Programming Guide - BuildTimeConfigurationを参照のこと。

項目 説明
telephony 電話機能
wifi Wifi接続
sms SMS
still-camera カメラ
auto-focus-camera 近接撮影等オートフォーカス
front-facing-camera インカメラ
camera-flash フラッシュ
video-camera ビデオ撮影
accelerometer 加速度センサー
location-services 位置情報サービス
gps GPS
magnetometer 電子コンパス
gamekit Game Center機能(iOS 4.1以降)
microphone マイク
opengles-2 OpenGL ES 2.0サポート(iphone3GS,iPod touch第3世代以降)
opengles-1 上記以前のハード
armv7 iPhone3GS,4 ,iPod touch(第3,4世代)
armv6 上記以前のハード
peer-peer Bluetooth