ios-程序内获取UUID-适用于免登陆,游客模式开发

UDID被弃用,使用UUID来作为设备的唯一标识。获取到UUID后,如果用NSUserDefaults存储,当程序被卸载后重装时,再获得的UUID和之前就不同了。使用keychain存储可以保证程序卸载重装时,UUID不变。但当刷机或者升级系统后,UUID还是会改变的。但这仍是目前为止最佳的解决办法了。

1、Target - Capabilities - KeychainSharing - ON 开启 KeychainSharing

开启 KeychainSharing

开启后,会自动生成Entitlements文件

代码如下:


//程序运行,获取UUID
NSString *strUUID = (NSString *)[KeyChainStore load:@"xxx.xxx.xxx”];

//首次执行该方法时,uuid为空
//生成一个uuid的方法
CFUUIDRef uuidRef= CFUUIDCreate(kCFAllocatorDefault);
strUUID = (NSString *)CFBridgingRelease(CFUUIDCreateString (kCFAllocatorDefault,uuidRef));

//将该uuid保存到keychain
 [KeyChainStore save:KEY_USERNAME_PASSWORD data:strUUID];

你可能感兴趣的:(ios-程序内获取UUID-适用于免登陆,游客模式开发)