UIDevice の model プロパティでは iPhone や iPod touch など、おおざっぱな区別しかできません。 3G か 3GS かの違いを識別するにはライブラリ関数 sysctlbyname() を使います。 sysctlbyname(3) Mac OS X Manual Page sysctl() はシステムの様々な情報を取得する関数です。 iPhone のハードウェア情報の取得は次のようにします。 How to Determine Exactly Which Model of iPhone/iPod Is Running Your App - (NSString *) platform { size_t size; sysctlbyname("hw.machine", NULL, &size, NULL, 0); char *machine = malloc(siz