ios 获取设备号

通过使用keychain +uuid:可以实现,应用安装后,再卸载再安装都保证设备号的唯一性


- (void)viewDidLoad {

    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    [self setKeyChainValue];
}
- (void)setKeyChainValue{
    KeychainItemWrapper * keyChainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"TjjTestKeychain" accessGroup:@"QEW2Q234R5.com.jar.TjjTestKeychain"];
    _strUUID = [keyChainItem objectForKey:(__bridge id)(kSecValueData)];
    NSLog(@"uuid-->%@",_strUUID);
    //首次执行该方法时, uuid为空
    if (_strUUID == nil || [_strUUID isEqualToString:@""]) {
        [keyChainItem setObject:[self gen_uuid] forKey:(__bridge id)kSecValueData];
    }
    NSLog(@"---keyChainItem------>%@",keyChainItem);
    NSLog(@"---strUUID--->%@",_strUUID);
    _contentLabel.text = _strUUID;

}


准备前提:

1:#import "KeychainItemWrapper.h" //苹果官方的一个Demo里封装的,Demo的下载地址:http://developer.apple.com/library/ios/#samplecode/GenericKeychain/Listings/Classes_KeychainItemWrapper_h.html#//apple_ref/doc/uid/DTS40007797-Classes_KeychainItemWrapper_h-DontLinkElementID_9

2:引用系统库:security.framework

3:KeychainItemWrapper.h是mrc,如果在arc中引用,需要在build phases--》compile sources 里的对应文件加上“-fno-objc-arc”

4:添加文件.entitlements,创建array类型的Keychain Access Groups值为$(AppIdentifierPrefix)com.jar.TjjTestKeychain  ,然后buildSetting的code signing的code signing entitlements里填写路径   TjjTestKeychain/TestKeychain.entitlements【也可以点击Targets---》capabilities-->然后开启Keychain Sharing】


参考链接

http://blog.sina.com.cn/s/blog_5971cdd00102vqgy.html

http://www.jianshu.com/p/b83b0240bd0e


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值