CPP C++ logo

Для получения типа устройства можно воспользоваться следующей функцией:

sysctlbyname(const char* name, void* oldp, size_t* oldlenp, void* newp, size_t newlen);

Псевдокод

#include <sys/types.h>
#include <sys/sysctl.h>

{
   // Get required buffer size
   size_t size;
   sysctlbyname("hw.machine", NULL, &size, NULL, 0);

   char* name = new char[size];

   // Get the platform name
   sysctlbyname("hw.machine", name, &size, NULL, 0);

   printf("%s\n", name);

   delete[] name;
}

Возможные варианты

  • iPhone Simulator == i386
  • iPhone == iPhone1.1
  • 3G iPhone == iPhone1.2
  • 3GS iPhone == iPhone2.1
  • 4 iPhone == iPhone3.1
  • 1st Gen iPod == iPod1.1
  • 2nd Gen iPod == iPod2.1
  • 3rd Gen iPod == iPod3.1