CPP C++ logo

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sysctlbyname(const char* name, void* oldp, size_t* oldlenp, void* newp, size_t newlen);
sysctlbyname(const char* name, void* oldp, size_t* oldlenp, void* newp, size_t newlen);
sysctlbyname(const char* name, void* oldp, size_t* oldlenp, void* newp, size_t newlen);

Псевдокод

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#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;
}
#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; }
#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