打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
获取IOS唯一设备标识码
最开始使用的是苹果官方KeychainItemWrapper,下载地址为https://developer.apple.com/library/ios/samplecode/GenericKeychain/Listings/Classes_KeychainItemWrapper_m.html,使用过程中,会有报错*** Terminating app due to uncaught exception'NSInternalInconsistencyException', reason: 'Couldn't add the Keychain Item.',在网上没有找到合适的解决方法,最终放弃这种方式
现在使用的是SSKeyChains,下载地址为项目地址:https://github.com/samsoffes/sskeychain
步骤:
在工程中加入Security.framework框架。
把SSKeychain.h和SSKeychain.m加到项目文件夹。
获取UUID(使用了ARC模式,非ARC模式的代码文件加入 -fno-objc-arc标签)
UUID.h
#import <Foundation/Foundation.h>
@interface UUID : NSObject
+ (NSString *) gen_uuid;
@end
UUID.m
#import "UUID.h"
@implementation UUID
+(NSString *) gen_uuid
{
CFUUIDRef uuid_ref=CFUUIDCreate(nil);
CFStringRef uuid_string_ref=CFUUIDCreateString(nil, uuid_ref);
CFRelease(uuid_ref);
NSString *uuid=[NSString stringWithString:uuid_string_ref];
CFRelease(uuid_string_ref);
return uuid;
}
@end
获取UUID,保存在钥匙串中(蓝色部分为标识,最好为app唯一标识,通过此标识查找保存的钥匙串)
#define kService [NSBundle mainBundle].bundleIdentifier
#define kAccount @"K626P85663.com.tzd.mofi2"
//获取设备唯一码
if (![SSKeychain passwordForService:kService account:kAccount])
{
NSString *uuid = [UUID gen_uuid];
[SSKeychain setPassword:uuid forService:kService account:kAccount];
}
NSString *devicenumber = [SSKeychain passwordForService:kService account:kAccount];
注意(已下全部验证):
(1)  app卸载重新安装,保存的唯一码不改变
(2)  IOS系统升级,保存的唯一码不改变
(3)  通用—>还原—>还原所有设置,保存的唯一码不改变
(4)   通用—>还原—>抹掉所有内容和设置,保存的唯一码也被抹掉
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
iPhone开发关于UDID和UUID的一些理解
ios设备唯一标识获取策略
iOS获取设备唯一标识的各种方法?IDFA、IDFV、UDID分别是什么含义?
ios上取得设备唯一标志的解决方案
在 iOS 7 中获取唯一标识符(UDID/UUID) | zrong's blog
iOS如果获取蓝牙Mac地址
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服