UDID始终从IOS中的钥匙串返回零数据?
问题描述:
我在我的钥匙串保存[[[UIDevice currentDevice] identifierForVendor] UUIDString]
这样的应用程序:UDID始终从IOS中的钥匙串返回零数据?
NSString *bundleId = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIdentifier"];
NSString *strApplicationUUID;
if(![keychainItem objectForKey:(__bridge id)(kSecValueData)]){
NSString *idfa = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
NSLog(@"bundleId %@",idfa);
[keychainItem setObject:idfa forKey:(__bridge id)(kSecValueData)];
NSLog(@"saving item %@", [keychainItem objectForKey:(__bridge id)(kSecValueData)]);
strApplicationUUID=[keychainItem objectForKey:(__bridge id)(kSecValueData)];
}else{
NSLog(@"saved item is %@", [keychainItem objectForKey:(__bridge id)(kSecValueData)]);
strApplicationUUID=[keychainItem objectForKey:(__bridge id)(kSecValueData)];
}
// NSString *strApplicationUUIDstr = [[NSString alloc] initWithData:[keychainItem objectForKey:(__bridge id)(kSecValueData)]
//encoding:NSUTF8StringEncoding];
NSLog(@"%@",strApplicationUUIDstr);
NSLog(@"%@",strApplicationUUID);
return strApplicationUUID;
但它给我始终为零data.its不保存,第一次还,任何人可以帮助我在这?
答
您的应用程序可能会被拒绝,由于苹果防止使用UDID: -
也许它可以帮助您:
-(NSString *)getUniqueDeviceIdentifierAsString
{
NSString *appName=[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString*)kCFBundleNameKey];
NSString *strApplicationUUID = [SSKeychain passwordForService:appName account:@"incoding"];
if (strApplicationUUID == nil)
{
strApplicationUUID = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
[SSKeychain setPassword:strApplicationUUID forService:appName account:@"incoding"];
}
return strApplicationUUID;
}
什么是错的,采取[[[的UIDevice currentDevice] identifierForVendor] UUIDString]。我是只需要那个 – hacker
你在模拟器或真实设备上工作。 –