IOS obtains hardware information

IOS system always claims to protect user privacy, from obtaining Mac address, UDID, mobile phone number, IMEI and so on is prohibited… IOS developers are always battling against the limits of Apple!

Obtaining hardware information using private apis is not included in the following table, as using private apis would be prohibited.

Information types Type specification Can you obtain The sample note
Equipment model Which phone is that support IPhone, iPad, iPod The value can be obtained from systeminfo. machine
System version Version of the device system support IPhone9, 1, iPhone9, 2 The value can be obtained from systeminfo. machine
Screen resolution Phone Screen Resolution support 568 * 320667 * 375 Both physical resolution and logical resolution are included
IMEI Unique identifier of the mobile device Does not support 493002407599521 It is not available after iOS 5
IMSI Sim card user id Does not support 460030912121001 Only partial code names are available
Sim Card Serial number Unique identifier of the SIM card Does not support On the back of the card, there are four lines with 20 numbers Unable to get
Mobile phone number It is usually an 11-digit number Does not support 18888888888 It’s forbidden to get after iOS 5, get values are nil
Carrier information A provider of network services support China Mobile, China Unicom, China Telecom There are several ways to get it
Device memory Mobile phone memory RAM support 2000.0 MB The value can be obtained from the system API
Memory occupied by App Memory RAM occupied by App support 43.5 MB The value can be obtained from the system API
Total disk space The total storage size of the device support 16384.0 MB The value can be obtained from the system API
Free disk space Size of unused storage space support 2200.0 MB The value can be obtained from the system API
The disk space is used Size of unused storage space support 2200.0 MB The value can be obtained from the system API
The CPU model The CPU type support CPU_TYPE_X86_64 The CPU type
The number of cpus How many cores is the CPU support 4. The core number is 4 Number of CPU core
Phone Motherboard Model The hardware number of the mobile phone motherboard Does not support Unable to get Unable to get
Whether crack Jailbreak or not inaccurate By determining whether certain files exist The new jailbreak tool may not detect it
The MAC address Physical address of a nic Does not support 02:00:00:00:00:00 This file is not available for iOS 7
Current Network Environment The current phone uses WiFi/4G support 2G/3G/4G/WIFI System method get or read status bar get
LAN IP The LAN address to which the mobile phone connects to the network inaccurate 192.168.1.3 Complex networks such as VPN may be inaccurate
IP The address where the phone connects to the network Does not support 111.200.9.21 It cannot be obtained locally and can be returned in the background
GPS Satellite positioning inaccurate Get latitude and longitude inverse geocoding GPS signals such as basement are weak and have large errors
Equipment serial number Unique device identification inaccurate The iOS UUID Deleting reinstalls will change, resetting location and privacy will change
APP Update Time Software update time or first installation time support The 2019-06-01 12:32:38 Info. Plist creation time can be read
Inspection agency The device uses a proxy IP address support YES/NO It can accurately detect whether the device is configured with an agent
battery Percentage of current device battery capacity support 0.53 means 53% of the remaining power The value ranges from 0 to 1.0. -1.0 indicates that the battery cannot be identified

Partial details

  • Mobile phone model: Determine the device type by viewing systemInfo.machine.
  • System version: Obtain the device model from systeminfo. machine. For example, iPhone9, iPhone7, iPhone9, and iPhone7 Plus.
  • Screen resolution: includes physical resolution and logical resolution, physical resolution = logical resolution × screen scaling ratio (i.e. 1x, 2x, 3x), 1x device is basically extinct now, 2x corresponds to 4 inch and 4.7 inch screen, 3x corresponds to 5.5 inch screen of Plus device.
  • IMEI: International Mobile Equipment Identity (IMEI) is the abbreviation of International Mobile Equipment Identity (IMEI). It is a 15-digit “electronic serial number” that corresponds to each Mobile phone and is unique in the world. Telephone dial keyboard input* # 06 #Can be displayed.
  • IMSI: sim card user id, stored in the SIM card. Currently, iOS devices can only obtain part of the information through CTTelephonyNetworkInfo, such as China MCC code 460, MNC China mobile code 00,02,07, IMSI is made by information stitching, the specific stitching method is Google.
  • Sim card serial number: The unique identifier of the SIM card is the four lines of 20 digits on the back of the SIM card.
  • Carrier information: you can obtain it by using the CTTelephonyNetworkInfo framework or by iterating the StatusBar icon text in the StatusBar. If no SIM card is installed, the default value is Obtained by using CTTelephonyNetworkInfo.
  • Running memory: The memory RAM(not storage) of the phone when running the program, which can be extrapolated from the phone model and obtained inaccurately through the API.
  • CPU model: The system can obtain the CPU type (such as 32-bit CPU and 64-bit CPU) and number of cores (dual-core single-core CPU).
  • MAC address: The MAC address cannot be obtained after iOS 7. The MAC address obtained by all mobile phones is 02:00:00:00: 00:00:00.
  • APP installation time and update time: The actual installation time (update time) can be calculated by the sandbox file creation time (e.g. info.plist). As for the first installation time of App, you can store a time mark in the sandbox. If there is a value, you can read it. If there is no value, the time of this installation will be saved.

Obtain hardware information screenshots


If you find it helpful,GitHub LFPhoneInfoDemoEnjoy a Star ⭐️, your encouragement is my motivation!