iOS獲取硬件信息(所有)

iOS系統總以保護用戶隱私標榜,從禁止獲取Mac地址,禁止獲取UDID,禁止獲取手機號碼,禁止獲取IMEI等等。。。,iOS開發人員老是在蘋果限制的道路上鬥智鬥勇!git

下表中不包括用私有API獲取硬件信息,由於使用私有API會被禁止上架。github

信息類型 類型說明 可否獲取 示例 備註
手機型號 具體那一款手機 支持 iPhone,iPad,iPod 經過systemInfo.machine獲取
系統版本 手機系統的版本 支持 iPhone9,1,iPhone9,2 經過systemInfo.machine獲取
屏幕分辨率 手機屏幕分辨率 支持 568×320,667×375 包括物理分辨率和邏輯分辨率
IMEI 手機設備惟一標識 不支持 493002407599521 iOS 5以後被禁止獲取
IMSI sim卡用戶身份識別碼 不支持 460030912121001 只能獲取部分代號
SIM卡序列號 sim卡的惟一標識 不支持 手機卡背面4行共20個數字 沒法獲取
手機號碼 通常爲11位數字 不支持 18888888888 iOS 5以後被禁止獲取,獲取值都爲nil
運營商信息 提供網絡服務的供應商 支持 中國移動,中國聯通,中國電信 有多種方法獲取
運行內存 手機內存RAM 不許確 647.5MB API獲取的不許確
CPU型號 CPU類型 支持 CPU_TYPE_X86_64,核心數爲2 CPU類型和核心數
手機主板型號 手機主板硬件的編號 不支持 沒法獲取 沒法獲取
是否破解 手機是否越獄 不許確 經過判斷是否存在某些文件 新越獄工具可能檢測不到
mac地址 網卡的物理地址 不支持 02:00:00:00:00:00 iOS 7以後被禁止獲取
當前網絡環境 當前手機使用WiFi/4G 支持 2G/3G/4G/WIFI 狀態欄獲取或其餘方法獲取
IP 手機連入網絡的地址 不許確 111.200.9.21 使用代理狀況下IP是不許確的
GPS 衛星定位 不許確 獲取經緯度反地理編碼 地下室等GPS信號弱有較大偏差
設備序列號 設備惟一標識 不許確 iOS的UUID 刪除重裝會變,重置位置和隱私會變
APP安裝時間及更新時間 安裝時間及更新時間 支持 2017/8/1 下午2:08:00 可用沙盒文件建立時間

部分詳細說明

  • 手機型號:經過systemInfo.machine獲取判斷是哪一種設備。
  • 系統版本:經過systemInfo.machine獲取設備型號後判斷,例如iPhone9,1對應iPhone7,iPhone9,2對應iPhone7 Plus。
  • 屏幕分辨率:包括物理分辨率和邏輯分辨率,物理分辨率=邏輯分辨率×屏幕縮放比(就是的1x,2x,3x),1x設備如今基本絕跡,2x對應4寸和4.7屏幕,3x對應Plus設備的5.5寸屏幕。
  • IMEI:IMEI(International Mobile Equipment Identity)是國際移動設備身份碼的縮寫,國際移動裝備辨識碼,是由15位數字組成的"電子串號",它與每臺移動電話機一一對應,並且該碼是全世界惟一的。電話撥號鍵盤輸入*#06#便可顯示。
  • IMSI:sim卡中用戶身份識別碼,儲存在SIM卡中。iOS設備如今只能經過CTTelephonyNetworkInfo獲取部分信息,如中國MCC代號460,MNC中國移動爲00,02,07,IMSI是由信息拼接而成,具體拼接方法Google
  • SIM卡序列號:sim卡的惟一標識,就是sim卡背面的四行數字,共20個數字。
  • 運營商信息:有多種方法獲取,經過CTTelephonyNetworkInfo框架獲取,或者經過遍歷狀態欄StatusBar圖標文字獲取;其中若是未安裝sim卡時,國行iPhone經過CTTelephonyNetworkInfo獲取爲默認值中國移動。
  • 運行內存:手機運行程序時的內存RAM(不是存儲空間),可經過手機型號反推,經過API獲取的不許確。
  • CPU型號:可以獲取CPU類型(例如32位CPU和64位CPU)和核心數(雙核單核)。
  • mac地址:iOS 7以後被禁止獲取,全部手機獲取到的都是02:00:00:00:00:00。
  • APP安裝時間及更新時間:可用沙盒文件(例如info.plist)建立時間來計算實際安裝時間,也就是更新時間。至於App首次安裝時間,可在沙盒存儲一個時間標記,有值讀取便可,無值時存入本次的安裝時間。

獲取硬件信息效果圖

硬件信息截圖


若是您以爲有所幫助,請在GitHub PhoneInfoDemo上賞個Star ⭐️,您的鼓勵是我前進的動力!
相關文章
相關標籤/搜索