実機の判定方法
実機の機種を判別したい時は次のコードでハードウェア名が取得できます。
struct utsname u; uname(&u); NSString *hardwareName = [NSString stringWithFormat:@"%s", u.machine];
ハードウェア名(hardwareName)と実機の組み合わせは下記の通りです。
ハードウェア名 | 機種 |
---|---|
"iPhone1,1" | 初代iPhone |
"iPhone1,2" | iPhone 3G |
"iPhone2,1" | iPhone 3GS |
"iPhone3,1" | iPhone 4 |
"iPod1,1" | 1st Gen iPod |
"iPod2,1" | 2nd Gen iPod |
"iPod3,1" | 3rd Gen iPod |
普通は機種別による挙動の違いについてiOSの中で考慮されているので直接機種名を取得する必要性は薄いとは思いますが、利便性とパフォーマンスの関係でデータ量を調整したい場合などに有効かもしれません。
SOICHAでもデータ処理件数の初期値をハードウェアを判定して調整しています。