Как создать UUID в ios



Как получить UUID в objective c, как и в Java UUID используется для генерации уникальных случайных чисел, которые представляют 128-битное значение.

470   7  

7 ответов:

попробуй:

CFUUIDRef udid = CFUUIDCreate(NULL);
NSString *udidString = (NSString *) CFUUIDCreateString(NULL, udid);

обновление:

начиная с iOS 6, есть более простой способ генерировать UUID. И как обычно, есть несколько способов сделать это:

создайте строку UUID:

NSString *uuid = [[NSUUID UUID] UUIDString];

создать UUID:

[[NSUUID UUID]; // which is same as..
[[NSUUID] alloc] init]; 

создает объект типа NSConcreteUUID и можно легко кастовать в NSString и выглядит так: BE5BA3D0-971C-4418-9ECF-E2D1ABCB66BE

примечание из документации:

Примечание: класс NSUUID не является бесплатным мостом с CFUUIDRef CoreFoundation. Использовать идентификатор строки, чтобы конвертировать между CFUUID и NSUUID, если это необходимо. Два объекта NSUUID не могут быть сопоставимы по значению указателя (как CFUUIDRef); используйте isEqual: для сравнения двух экземпляров nsuuid.

+ (NSString *)uniqueFileName
{
    CFUUIDRef theUniqueString = CFUUIDCreate(NULL);
    CFStringRef string = CFUUIDCreateString(NULL, theUniqueString);
    CFRelease(theUniqueString);
    return [(NSString *)string autorelease];
}

Swift версия ответ Раптора:

let uuid = NSUUID().UUIDString
-(NSString*) myUUID()
{
    CFUUIDRef newUniqueID = CFUUIDCreate(kCFAllocatorDefault);
    CFStringRef newUniqueIDString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueID);
    NSString *guid = (__bridge NSString *)newUniqueIDString;
    CFRelease(newUniqueIDString);
    CFRelease(newUniqueID);
    return([guid lowercaseString]);
}

Я предлагаю вам проверить эту библиотеку:https://github.com/fabiocaccamo/FCUUID

Он предоставляет очень простой API для получения универсально уникальных идентификаторов с различными уровнями устойчивости.

Он совместим с: iOS5, iOS6, iOS7, iOS8

вы можете использовать CFUUID для iOS 5 или более низкой версии и NSUUID для iOS 6 и 7. для обеспечения большей безопасности вы можете хранить свой UUID в keychain

- (NSString*)generateGUID{
    CFUUIDRef theUUID = CFUUIDCreate(NULL);
    CFStringRef string = CFUUIDCreateString(NULL, theUUID);
    CFRelease(theUUID);
    return [NSString stringWithFormat:@"%@", string];
}

Comments

    Ничего не найдено.