iOS获取设备的唯一标识

2018-11-30  本文已影响0人  yyggzc521

看了一些资料后发现都是说了一大堆,最后却说被苹果禁止了,浪费时间,我就直接说了,不浪费大家的时间


NSString *deviceUUID = [YYKeychain getPasswordForService:KDeviceUUID account:KDeviceUUID];

虽然获取了设备唯一标示,但是问题是,当我们从真机上卸载这个软件重新安装的时候,UUID变了而且模拟器每次都变
那么我们可以利用keychain里保存的信息不会因App被删除而丢失这个特点来保存设备唯一标识

那么,如何使用keyChain呢,我们需要导入Security.framework ,keychain的操作接口声明在头文件SecItem.h里。不过直接使用SecItem.h里方法操作keychain,需要写的代码较为复杂,刚好项目中用到了YYKit,所以直接就是用了里面的YYKeychain来实现

    NSString * const KDeviceUUID = @"设备唯一识别的KEY_UUID";
    NSString *deviceUUID = [YYKeychain getPasswordForService:KDeviceUUID account:KDeviceUUID];
    if (deviceUUID == nil) {
        deviceUUID = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
        [YYKeychain setPassword:deviceUUID forService:KDeviceUUID account:KDeviceUUID];
    }

参考资料
https://www.jianshu.com/p/faa4854ce180
https://www.jianshu.com/p/686958c352f1

上一篇 下一篇

猜你喜欢

热点阅读