有些企業內部程式需要對訪問程式的真機做白名單限制,對於裝置唯一碼,蘋果做出了如下限制:
1.從ios7之後,獲取mac位址會返回固定值「02:00:00:00:00:00」。
2.試圖獲取udid(裝置唯一碼)的程式不會通過蘋果的審核。
我們可以在程式第一次啟動時生成這個id並儲存起來,但是,如果使用者刪除該應用再次安裝時,又會生成新的字串,所以不能保證唯一識別該裝置,所以這個id不能存在沙盒裡,應該存在keychain裡。
核心**:
首先是生成uuid的**,建議封裝成靜態類:
1 cfuuidref puuid =cfuuidcreate(nil);2 cfstringref uuidstring =cfuuidcreatestring(nil, puuid);
3 nsstring *result = (nsstring *)cfstringcreatecopy(null, uuidstring);
4cfrelease(puuid);
5cfrelease(uuidstring);
6 nslog(@"
%@" ,result);
對keychain的操作:
匯入類庫後匯入security.framework,**如下:1//
為應用程式定義keychain訪問的包裝器
account number
" accessgroup:@""];
34//寫入資料(這裡的key一定要用系統提供的列舉)
《帳號》
" forkey:(id
)ksecattraccount];
《帳號密碼》
" forkey:(id
)ksecvaluedata];78
//取出資料
)ksecvaluedata];
1011
//清理資料
注意這些**都是mrc下的。
android獲取裝置唯一碼
android獲取裝置唯一碼,最唯一的應該是imei號,全網唯一,但是有時候不一定可以獲取到,這時候可以通過獲取其他id來代替,獲取cpu串碼,裝置序列號 androidid,pesudouniqueid mac位址,藍芽mac位址,這幾個id裡面獲取只要獲取到乙個位址就可以使用,如果最後實在是上面...
生成唯一碼
根據年月日 隨機數獲取19位的資料序列 public static long getrandomid 根據年月日 隨機數獲取19位的資料序列 public static long gethashcodeid var num 19 s.length var f datetime.now.tostrin...
C 獲取多個物理唯一碼案例
本地ip getip cpu編碼 getcpuid getmacaddress 本地ip getipaddress 磁碟型號 getdiskid 系統使用者名稱 getusername 系統型別 cmd命令 systeminfo 方法如下 string getcpuid moc null mc nu...