c# - How do I get the iOS Device and Version in Monotouch -


how can determine iphone, ipod, ipad model using application? output like: iphone, iphone 3g, iphone 3gs etc

like answer plain objective c: answer question in objective c

took example , updated current list of ios devices , simulators of march 24th 3pm pst. enjoy.

using system; using system.runtime.interopservices; using monotouch.foundation; using monotouch.uikit;  namespace yournamespace { public class iosdevicehardware {     public const string hardwareproperty = "hw.machine";      public enum ioshardware {         iphone,         iphone3g,         iphone3gs,         iphone4,         iphone4reva,         iphone4cdma,         iphone4s,         iphone5gsm,         iphone5cdmagsm,         ipodtouch1g,         ipodtouch2g,         ipodtouch3g,         ipodtouch4g,         ipodtouch5g,         ipad,         ipad3g,         ipad2,         ipad2gsm,         ipad2cdma,         ipad2reva,         ipadmini,         ipadminigsm,         ipadminicdmagsm,         ipad3,         ipad3cdma,         ipad3gsm,         ipad4,         ipad4gsm,         ipad4cdmagsm,         iphonesimulator,         iphoneretinasimulator,         ipadsimulator,         ipadretinasimulator,         unknown     }      [dllimport(monotouch.constants.systemlibrary)]     static internal extern int sysctlbyname([marshalas(unmanagedtype.lpstr)] string property, intptr output, intptr oldlen, intptr newp, uint newlen);      public static ioshardware version {         {             var plen = marshal.allochglobal(sizeof(int));             sysctlbyname(iosdevicehardware.hardwareproperty, intptr.zero, plen, intptr.zero, 0);              var length = marshal.readint32(plen);              if (length == 0) {                 marshal.freehglobal(plen);                  return ioshardware.unknown;             }              var pstr = marshal.allochglobal(length);             sysctlbyname(iosdevicehardware.hardwareproperty, pstr, plen, intptr.zero, 0);              var hardwarestr = marshal.ptrtostringansi(pstr);              marshal.freehglobal(plen);             marshal.freehglobal(pstr);              if (hardwarestr == "iphone1,1") return ioshardware.iphone;             if (hardwarestr == "iphone1,2") return ioshardware.iphone3g;             if (hardwarestr == "iphone2,1") return ioshardware.iphone3gs;             if (hardwarestr == "iphone3,1") return ioshardware.iphone4;             if (hardwarestr == "iphone3,2") return ioshardware.iphone4reva;             if (hardwarestr == "iphone3,3") return ioshardware.iphone4cdma;             if (hardwarestr == "iphone4,1") return ioshardware.iphone4s;             if (hardwarestr == "iphone5,1") return ioshardware.iphone5gsm;             if (hardwarestr == "iphone5,2") return ioshardware.iphone5cdmagsm;              if (hardwarestr == "ipad1,1") return ioshardware.ipad;             if (hardwarestr == "ipad1,2") return ioshardware.ipad3g;             if (hardwarestr == "ipad2,1") return ioshardware.ipad2;             if (hardwarestr == "ipad2,2") return ioshardware.ipad2gsm;             if (hardwarestr == "ipad2,3") return ioshardware.ipad2cdma;             if (hardwarestr == "ipad2,4") return ioshardware.ipad2reva;             if (hardwarestr == "ipad2,5") return ioshardware.ipadmini;             if (hardwarestr == "ipad2,6") return ioshardware.ipadminigsm;             if (hardwarestr == "ipad2,7") return ioshardware.ipadminicdmagsm;             if (hardwarestr == "ipad3,1") return ioshardware.ipad3;             if (hardwarestr == "ipad3,2") return ioshardware.ipad3cdma;             if (hardwarestr == "ipad3,3") return ioshardware.ipad3gsm;             if (hardwarestr == "ipad3,4") return ioshardware.ipad4;             if (hardwarestr == "ipad3,5") return ioshardware.ipad4gsm;             if (hardwarestr == "ipad3,6") return ioshardware.ipad4cdmagsm;              if (hardwarestr == "ipod1,1") return ioshardware.ipodtouch1g;             if (hardwarestr == "ipod2,1") return ioshardware.ipodtouch2g;             if (hardwarestr == "ipod3,1") return ioshardware.ipodtouch3g;             if (hardwarestr == "ipod4,1") return ioshardware.ipodtouch4g;             if (hardwarestr == "ipod5,1") return ioshardware.ipodtouch5g;              if (hardwarestr == "i386" || hardwarestr=="x86_64")             {                 if (uidevice.currentdevice.model.contains("iphone"))                 {                     if(uiscreen.mainscreen.scale > 1.5f)                         return ioshardware.iphoneretinasimulator;                     else                         return ioshardware.iphonesimulator;                 }                 else                 {                     if(uiscreen.mainscreen.scale > 1.5f)                         return ioshardware.ipadretinasimulator;                 else                     return ioshardware.ipadsimulator;                 }             }              return ioshardware.unknown;         }     } } } 

Comments

Popular posts from this blog

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -

php - Controller/JToolBar not working in Joomla 2.5 -