看了一些资料后发现都是说了一大堆,最后却说被苹果禁止了,浪费时间,我就直接说了,不浪费大家的时间
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
网友评论