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

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

Ответы [ 2 ]

15 голосов
/ 27 февраля 2012

Ознакомьтесь с документацией для 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;
}
6 голосов
/ 27 февраля 2012

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

gekitz / UIDevice-with-UniqueIdentifier-для-iOS-5

...