美文网首页
IOS 获取手机UUID,卸载UUID会变化

IOS 获取手机UUID,卸载UUID会变化

作者: 淘码小工 | 来源:发表于2017-08-31 16:32 被阅读157次

    在做公司移动办公手机打卡功能时,公司要求一人只能绑定一台设备,来杜绝手机代打卡事件。所以在请求服务器接口时,我们传入了UUID这个参数,当第一次打卡时,后台把这个UUID保存到数据库。当以后打卡,服务器判断这个参数是否跟第一次绑定的UUID相同,不相同则认为你设备换了,不能打卡。

    本来这个功能用的好好的,但是这段时间发现公司有的设备在卸载程序,再次安装移动办公的时候,它的UUID会变化,上网查了一下,确实会变化。

    这就尴尬了。

    解决方法是UUID还是通过下面方法获取

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

    不过在获取到这个UUID以后,保存到钥匙串中,这样的话,不管是否卸载程序,每次都先去钥匙串中取值,如果钥匙串中有值的话,直接使用。没有的话,再去获取设备UUID

    钥匙串按我理解就是一个字典,里面就保存着UserName和Password,我是把userID当成用户名,把UUID当成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了


    知行办公,专业移动办公平台https://zx.naton.cn/
    【总监】十二春秋之,3483099@qq.com
    【Master】zelo,616701261@qq.com
    【运营】狼行天下,897221533@qq.com;****
    【产品设计】流浪猫,364994559@qq.com
    【体验设计】兜兜,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
    【数据】喜乐多,42151960@qq.com
    【安全】保密,你懂的。

    相关文章

      网友评论

          本文标题:IOS 获取手机UUID,卸载UUID会变化

          本文链接:https://www.haomeiwen.com/subject/vbgqjxtx.html