Вы можете проверить идентификатор модели с помощью функции ( credits ):
#include <sys/types.h>
#include <sys/sysctl.h>
NSString* machine () {
size_t size;
// Set 'oldp' parameter to NULL to get the size of the data
// returned so we can allocate appropriate amount of space
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
// Allocate the space to store name
char *name = malloc(size);
// Get the platform name
sysctlbyname("hw.machine", name, &size, NULL, 0);
// Place name into a string
NSString *machineid = [NSString stringWithUTF8String:name];
// Done with this
free(name);
return machineid;
}
Функция вернет строку типа @ "iPhone3,3", которая означает iPhone 4 (CDMA / Verizon). Может быть трудно собрать полную таблицу с различными номерами моделей. Некоторые описания моделей можно найти здесь . Вам придется расширять таблицу моделей по мере появления новых моделей.