ios 获取设备号

来源:互联网 发布:java内嵌webkit浏览器 编辑:程序博客网 时间:2024/04/30 17:03

通过使用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


0 0
原创粉丝点击