iphone: как создать уникальный идентификатор для идентификации пользователя - PullRequest
2 голосов
/ 19 января 2012

В моем приложении я хочу создать уникальный идентификатор приложения для каждого пользователя. Я слышал о GUID, который используется для создания уникального идентификатора для пользователей.

Ответы [ 4 ]

2 голосов
/ 19 января 2012
[[UIDevice currentDevice] uniqueIdentifier]

Возвращает уникальный идентификатор вашего iPhone.

Если вам нужно создать несколько UUID, просто используйте этот метод:

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

ПРИМЕЧАНИЕ : UUID, созданный CFUUIDCreate, уникален, если пользователь удаляет и переустанавливает приложение: вы будете получать новый каждый раз.

Также UUID устарел в iOS 5.

1 голос
/ 19 января 2012

UUID устарел в iOS 5, но вы всегда можете использовать MAC-адрес

Как программно получить MAC-адрес iphone

0 голосов
/ 15 мая 2012

Это несколько не по теме, так как вы спрашиваете о пользователях, но вам также может понадобиться что-то для уникального устройства (отпечаток пальца).Взгляните на справочник по связке ключей и три kSecAttrAccessible константы: kSecAttrAccessibleAlwaysThisDeviceOnly, kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly и kSecAttrAccessibleWhenUnlockedThisDeviceOnly.

.генерирует значение, связанное с устройством, аналогично [[UIDevice currentDevice] uniqueIdentifier].Однако я никогда не проверял поведение на практике.

0 голосов
/ 24 февраля 2012

Еще одно решение, аналогичное предложенному Мауликом ...

Это создание уникальных имен файлов ... Но это может применяться ко всему ... что должно быть уникальным ...

NSString *filePath;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
path = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"SomeDirectoryName"];

//Create unique filename
CFUUIDRef newUniqueId = CFUUIDCreate(kCFAllocatorDefault);
CFStringRef newUniqueIdString = CFUUIDCreateString(kCFAllocatorDefault, newUniqueId);
path = [path stringByAppendingPathComponent:(NSString *)newUniqueIdString];
path = [path stringByAppendingPathExtension: @"MOV"];
CFRelease(newUniqueId);
CFRelease(newUniqueIdString);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...