獲取當前裝置的型別 比如iphone5s等
引入標頭檔案:
#import "sys/utsname.h"
-(nsstring*)deviceversion
獲取當前uuid 比如:f2115ca5-04d3-4eeb-9fc1-6c2e01ea8f82 (程式卸掉會刪除,從新安裝會更改此uuid,解決的問題可以把隨機的一串串行號存到keychain裡面去,這樣就可以做統計了)
[[uidevice currentdevice].identifierforvendor uuidstring]
解釋什麼是uuid: (並不是裝置的唯一標識)
uuid(universally unique identifier)是基於ios裝置上面某個單個的應用程式,只要使用者沒有完全刪除應用程式,則這個uuid在使用者使用該應用程式的時候一直保持不變。如果使用者刪除了這個應用程式,然後再重新安裝,那麼這個uuid已經發生了改變。通過呼叫[[uidevice currentdevice] identifierforvendor];方法可以獲取uuid。uuid不好的地方就是使用者刪除了你開發的程式以後,基本上你就不可能獲取之前的資料了。
解釋什麼是udid:(裝置的唯一標識)
udid(unique device identifier)是一串由40位16進製制數組成的字串,用以標識唯一的裝置,現在想通過**獲取是不可能的了,如果你想看看你裝置的udid,可以通過itunes來檢視。蘋果從ios5開始就移除了通過**訪問udid的許可權,所以碼農啊,想知道使用者裝置的udid,是不行的嘍。
那麼有沒有另外的辦法來獲取使用者裝置的唯一識別符號呢?答案是有的,當然這樣的識別符號不是蘋果隱藏的udid了,使用openudid開源**,這個**通過一些特殊的演算法,建立了每乙個裝置的唯一識別符號,你可以拿過來用來識別裝置了。
獲取裝置的系統版本 比如 9.3.1
[[uidevice currentdevice] systemversion]
另附:
首先openudid得使用
#import "openudid.h"
nsstring* openudid = [openudid value]; 爭論
: 關於這個話題的缺點大家都知道,在此就總結一下,在整個過程中都誕生過哪些方案:
此階段完美方案: 使用udid,唯一且永遠不變,能滿足我們的所有需求.
使用uuid(蘋果推薦)
使用openudid(ylechelle/openudid · github)
使用secureudid
使用廣告標示符(idfa-identifierforidentifier)(蘋果推薦,重置系統(設定程式 -> 通用 -> 還原 -> 還原位置與隱私)會重新生成)
使用vendor標示符 (idfv-identifierforvendor)
使用mac位址(gekitz/uidevice-with-uniqueidentifier-for-ios-5 路 github)
總之,此階段無完美方案......
openudid 實現的依據是 剪貼簿儲存資料 可跨應用共享,如今ios 7 已經把他經意不限制了,同乙個開發者賬號下的應用使用 openudid 做裝置唯一標識依然有效。但是不同開發者的應用所獲取的 openudid 是不一樣的。
iOS 獲取裝置系統資訊
ios 獲取裝置系統資訊 uidevice device uidevice alloc init nslog 裝置所有者的名稱 device name nslog 裝置的類別 device model nslog 裝置的的本地化版本 device localizedmodel nslog 裝置執行的...
獲取iOS裝置資訊
鑌哥就直接寫 了 獲取手機資訊 應用程式的名稱和版本號等資訊都儲存在mainbundle的乙個字典中,用下面 可以取出來 nsdictionary infodict nsbundle mainbundle infodictionary nsstring versionnum infodict obj...
iOS 獲取裝置資訊
ios 獲取裝置資訊 獲取裝置資訊,不囉嗦,直接上 uidevice idfa add adsupport.framework define kdeviceidfa asidentifiermanager sharedmanager advertisingidentifier uuidstring ...