博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ios上取得设备唯一标志的解决方案
阅读量:7227 次
发布时间:2019-06-29

本文共 1413 字,大约阅读时间需要 4 分钟。

     iOS 7中苹果再一次无情的封杀mac地址,现在已经不能获取ios7设备的物理地址。那么在开发中如何才能标识设备的唯一性呢?apple公司提供的方法是通过keychain来存一些标志信息,然后通过存的标志信息来让应用程序来识别该设备的唯一性。

 apple公司写了一个简单的操作keychain的工具类:可以下载,把KeychainItemWrapper.h,.m文件引用xcode中,keychainItemWrapper.m文件可能出错,这里是由于arc编译造成的,我们可以根据提示进行解决,也可以用如下图的方式解决:

 

 

 

接着设置keychain共享:如图所示

    

此我们可以在项目中看到xxxxx.entitlements结尾的文件。<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<string>$(AppIdentifierPrefix)h.HelloWorld</string>

</plist>

其中的${AppldentifierPrefix}是开发者账户的的前缀,是apple的公司提供的,https://developer.apple.com/membercenter/index.action,可以用自已的账户进行查看。

存取:key chain:

Java代码
  
  1. -(void) setKeyChainValue  
  2. {  
  3.     KeychainItemWrapper *keyChainItem=[[KeychainItemWrapper alloc]initWithIdentifier:@"TestUUID" accessGroup:@"XXXXXX.h.HelloWorld"];  
  4.     NSString *strUUID = [keyChainItem objectForKey:(id)kSecValueData];  
  5.     if (strUUID==nil||[strUUID isEqualToString:@""])  
  6.     {  
  7.         [keyChainItem setObject:[self gen_uuid] forKey:(id)kSecValueData];  
  8.     }  
  9.     [keyChainItem release];  
  10.   
  11. }  
  12.   
  13. -(NSString *) gen_uuid  
  14. {  
  15.     CFUUIDRef uuid_ref=CFUUIDCreate(nil);  
  16.     CFStringRef uuid_string_ref=CFUUIDCreateString(nil, uuid_ref);  
  17.     CFRelease(uuid_ref);  
  18.     NSString *uuid=[NSString stringWithString:uuid_string_ref];  
  19.     CFRelease(uuid_string_ref);  
  20.     return uuid;  
  21. }  

   应用程序第一次在某台设备上运行时,我们的应用程序保存一个uuid,来标识该设备。等设备把程序删除时,该uuid依然存在于设备中。

 

转载于:https://www.cnblogs.com/lovewx/p/3957750.html

你可能感兴趣的文章
Elasticsearch数据建模-关联查询
查看>>
我的友情链接
查看>>
CentOS 下安装 Lnmp
查看>>
redis系列:通过日志案例学习string命令
查看>>
世界冠军之路:菜鸟车辆路径规划求解引擎研发历程
查看>>
Linux-sendmail
查看>>
关于BSTR的困惑
查看>>
什么时候使用HashMap?它有什么特点?
查看>>
框架名
查看>>
编译安装PHP
查看>>
插入透明背景Flash的HTML代码
查看>>
无标题
查看>>
我的友情链接
查看>>
Web前端入门学习(3)——CSS选择器
查看>>
DNS的搭建
查看>>
Apache/Nginx 访问日志分析脚本
查看>>
Curator的使用
查看>>
第五章 集合类型
查看>>
我的友情链接
查看>>
nagios监控服务出现FLAPPING状态时无法发出邮件报警信息
查看>>