英语轻松读发新版了,欢迎下载、更新

iOS 唯一标识符问题

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,无法做到绝对唯一性。

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 保存了。

gjl7223167 回复于 2014年07月28日

如果刷机了呢

terryso 回复于 2014年07月28日

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

gjl7223167 回复于 2014年07月31日

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

登录 或者 注册