Как мы можем противостоять будущему удалению UDID/UUID в iOS 6, если мы используем PhoneGap?

В настоящее время мы используем PhoneGap для наших мобильных приложений, и я знаю, что у них есть device.udid (http://docs.phonegap.com/en/1.0.0/phonegap_device_device.md.html#device.uuid) для получения уникальных идентификаторов., Какой лучший способ обеспечить будущее, чтобы наши текущие приложения работали, когда выйдет iOS 6? Должны ли мы начать использовать некоторые другие решения (MAC-адрес и т. Д.), Чтобы обеспечить совместимость в будущем?

2 ответа

Решение

Проверьте документацию для CFUUIDCreate

https://developer.apple.com/library/mac/#documentation/CoreFoundation/Reference/CFUUIDRef/Reference/reference.html

Я использую метод ниже, чтобы создать UUID и сохранить его в настройках пользователя при первом запуске приложения:

- (NSString *)getUUID
{
    NSString *UUID = [[NSUserDefaults standardUserDefaults] objectForKey:@"uniqueID"];
    if (!UUID)
    {
        CFUUIDRef theUUID = CFUUIDCreate(NULL);
        CFStringRef string = CFUUIDCreateString(NULL, theUUID);
        CFRelease(theUUID);
        UUID = [(__bridge NSString*)string stringByReplacingOccurrencesOfString:@"-"withString:@""];
        [[NSUserDefaults standardUserDefaults] setValue:UUID forKey:@"uniqueID"];
    }
    return UUID;
}

Я использовал этот проект GitHub, который по сути берет MAC-адрес устройства и хэширует его с идентификатором пакета:

https://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5

Другие вопросы по тегам