IOS 獲取手機UUID,卸載UUID會變化

在做公司移動辦公手機打卡功能時,公司要求一人只能綁定一臺設(shè)備,來杜絕手機代打卡事件。所以在請求服務(wù)器接口時,我們傳入了UUID這個參數(shù),當(dāng)?shù)谝淮未蚩〞r,后臺把這個UUID保存到數(shù)據(jù)庫。當(dāng)以后打卡,服務(wù)器判斷這個參數(shù)是否跟第一次綁定的UUID相同,不相同則認為你設(shè)備換了,不能打卡。

本來這個功能用的好好的,但是這段時間發(fā)現(xiàn)公司有的設(shè)備在卸載程序,再次安裝移動辦公的時候,它的UUID會變化,上網(wǎng)查了一下,確實會變化。

這就尷尬了。

解決方法是UUID還是通過下面方法獲取

NSString *uuidVendor = [[UIDevice currentDevice].identifierForVendor UUIDString];
NSString *uuidStr = [uuidVendor stringByReplacingOccurrencesOfString:@"-" withString:@""];

不過在獲取到這個UUID以后,保存到鑰匙串中,這樣的話,不管是否卸載程序,每次都先去鑰匙串中取值,如果鑰匙串中有值的話,直接使用。沒有的話,再去獲取設(shè)備UUID

鑰匙串按我理解就是一個字典,里面就保存著UserName和Password,我是把userID當(dāng)成用戶名,把UUID當(dāng)成password,如下:

// 取UUID 從鑰匙串
 NSString *uuidFromKeyChain = [SFHFKeychainUtils getPasswordForUsername:g_loginUser.userName 
                        andServiceName:SERVICE_NAME error:nil];
 
 //把UUID存入到鑰匙串
  [SFHFKeychainUtils storeUsername:g_loginUser.userName andPassword:uuidStr forServiceName:SERVICE_NAME updateExisting:1 error:nil];

這樣就OK了


知行辦公,專業(yè)移動辦公平臺https://zx.naton.cn/
【總監(jiān)】十二春秋之,3483099@qq.com;
【Master】zelo,616701261@qq.com;
【運營】狼行天下,897221533@qq.com;****
【產(chǎn)品設(shè)計】流浪貓,364994559@qq.com
【體驗設(shè)計】兜兜,2435632247@qq.com
【iOS】淘碼小工,492395860@qq.comiMcG33K,imcg33k@gmail.com
【Android】人猿居士,1059604515@qq.com;思路的頓悟,1217022114@qq.com;
【java】首席工程師MR_W,feixue300@qq.com;
【測試】土鏡問道,847071279@qq.com;
【數(shù)據(jù)】喜樂多,42151960@qq.com
【安全】保密,你懂的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容