OC

Knowledge OS
登录 注册
全部话题 移民 创业 iOS Mac Objective-C Swift Android 招聘 求职

iOS 唯一标识符问题

tangyumeng
tangyumeng 发布于 2013年11月13日
无人欣赏。

iOS6以及之前使用OpenUDID没有问题。iOS7使用OpenUDID好像不推荐,让使用 advertisingIdentifier。 但是这样的话,想要唯一识别一个设备,假设支持5,6,7 那只能5,6使用OpenUDID,7使用advertisingIdentifier。 并且advertisingIdentifier 可以在设置内随便重置。。这样的话,有没有一个比较统一的方法可以统计。 还有人说OpenUDID生成的标示符可能会造成不同设备生成相同的字符串。。

这是一篇OpenUDID不推荐在iOS7使用OpenUDID的文章。 iOS7不推荐使用OpenUDID

共5条回复
楼长 ·
nickel 回复于 2013年11月13日

就是为了杜绝你获得可以辨别不同设备的绝对唯一标识。所以现在推荐使用的是自己生成的UDID,然后自己保存下来,如果用户重装就会使用新ID,无法做到绝对唯一性。

2楼 ·
tangyumeng 回复于 2013年11月13日

+(NSString *)admUUID;
{
 NSString * uuid = [SSKeychain passwordForService: kADMUUIDKeyChainService account: kADMUUIDKeyChainAccount];
 if (uuid) {
 return uuid;
 }
 CFUUIDRef puuid = CFUUIDCreate( nil );
 CFStringRef uuidString = CFUUIDCreateString( nil, puuid );
 NSString * result = (NSString *)CFBridgingRelease(CFStringCreateCopy( NULL, uuidString));
 CFRelease(puuid);
 CFRelease(uuidString);
 [SSKeychain setPassword: result forService: kADMUUIDKeyChainService account: kADMUUIDKeyChainAccount];
 return result;
}

现在我自己生成UUID 使用keychain 保存了。

3楼 ·
gjl7223167 回复于 2014年07月28日

如果刷机了呢

4楼 ·
terryso 回复于 2014年07月28日

3楼 @gjl7223167 刷机了,神仙都救补回了。。。

5楼 ·
gjl7223167 回复于 2014年07月31日

现在来说 没有真正的唯一标识了是不

登录 或者 注册

AltStyle によって変換されたページ (->オリジナル) /