您好,登錄后才能下訂單哦!
小編給大家分享一下iOS如獲取設備型號的方法有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
在開發中,我們經常需要獲取設備的型號(如 iPhone X , iPhone 8 Plus 等)以進行數據統計,或者做不同的適配。但蘋果并沒有提供相應的系統 API 讓我們直接取得當前設備的型號。
其中, UIDevice 有一個屬性 model 只是用于獲取 iOS 設備的類型,如 iPhone , iPod touch , iPad 等;而其另一個屬性 name 表示當前設備的名稱,由用戶在設置》通用》關于》名稱中設定,如 My iPhone , xxx 的 iPhone 等。然而,我們無法根據這兩個值獲得具體的型號。
不過,每一種 iOS 設備型號都有對應的一個或多個硬件編碼/標識符,稱為 device model 或者叫 machine name ,之前的小集介紹過,我們可以通過如圖 1 中的代碼來獲取:
所以,通常的做法是,先獲取設備的 device model 值,再手動映射為具體的設備型號(或者直接把 device model 值傳給后端,讓后端去做映射,這樣的好處是可以隨時兼容新設備)。
例如:去年發布的第一代 iPhone X 對應的 device mode 為 iPhone10,3 和 iPhone10,6 ,而今年最新發布 iPhone XS 對應 iPhone11,2 ,iPhone XS Max 對應 iPhone11,4 和 iPhone11,6 ,iPhone XR 對應 iPhone11,8 ,完整的 device mode 數據參考 Wiki:
https://www.theiphonewiki.com/wiki/Models
綜上,我們可以先獲取 device model 值,記為 platform ,然后進行對比判斷,轉換成具體的設備型號。實現代碼如圖 2、3 所示:
備注:圖中代碼只給了對 iPhone 設備型號的判斷,而完整的包括 iPad 和 iPod touch 型號我已經放在 GitHub Gist 上,大家可以參考, 詳見這里 。
參考鏈接:
The iPhone Wiki
fahrulazmi/UIDeviceHardware
以上是“iOS如獲取設備型號的方法有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。