iOS开发-用keychain替代UDID

从2013-5-1日开始苹果就禁止对UUID的应用的通过了。所以我们需要用一些办法替换,下面我就是用keychain的访问替换掉UUID的。

那么,关于Keychain的应用,Apple提供了一个叫GenericKeychain的例子程序,在这里:http://download.csdn.net/detail/pearlhuzhu/5699667,其中封装了一个简化Keychain操作的类:KeychainItemWrapper,可以拿来直接使用。


1、首先应该导入库文件:Security.framework 且需要把文件KeychainItemWrapper.h和KeychainItemWrapper.m导入到工程,并引用头文件:#import"KeychainItemWrapper.h"

2、代码例子:

  1. NSString *str =nil;  
  2. KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"UUID" accessGroup:@"com.xxx.xxx"];  
  3.   
  4. NSString *uuidStr = [keychainItem objectForKey:(id)kSecValueData];  
  5. if (uuidStr.length == 0) {  
  6.     NSString *myUUIDStr = [[[UIDevice currentDevice] identifierForVendor] UUIDString];  
  7.     [keychainItem setObject:myUUIDStr forKey:(id)kSecValueData];  
  8.     str = myUUIDStr;  
  9. }  
  10. else{  
  11.     str = [keychainItem objectForKey:(id)kSecValueData];  
  12. }  
  13. NSLog(@"======%@",str);  
  14. return str;  


导入Security.framework是因为KeychainItemWrapper文件只是对Security一个封装,更加利于我们的调用。

posted @ 2013-11-26 15:28  如来藏  阅读(228)  评论(0编辑  收藏  举报