Альтернатива идентификатору устройства iPhone (UDID) - программирование
Подтвердить что ты не робот

Альтернатива идентификатору устройства iPhone (UDID)

Возможный дубликат:
UIDevice uniqueIdentifier устарел - Что делать теперь?

Даже если Apple не была в Barcelone MWC (мобильный мировой конгресс), была уверенность в том, что получение идентификатора устройства будет устаревать в дальнейшем SDK для iOS.

Я не понимаю, почему Apple хочет ограничить это, но это не тема.

Я должен подготовить свое приложение к альтернативе, потому что мои пользователи идентифицированы и известны для лучшего использования моего приложения (например, не нужно регистрировать или создавать учетную запись). И я уверен, что я не одинок в этом случае.

Итак, кто-нибудь знает альтернативу получить идентификатор устройства? Есть ли другой уникальный идентификатор, например MAC-адрес? Как подготовить приложение?

4b9b3361

Ответ 1

UPDATE

Как насчет использования CFUUID для создания UUID. Вы можете хранить его в KEYCHAIN ​​ при первом запуске. вы можете получить его так...

NSString *uuid = nil;
CFUUIDRef theUUID = CFUUIDCreate(kCFAllocatorDefault);
if (theUUID) {
  uuid = NSMakeCollectable(CFUUIDCreateString(kCFAllocatorDefault, theUUID));
  [uuid autorelease];
  CFRelease(theUUID);
}

а также путем исключения метода uniqueIdentifier, Apple предполагает, что вы не идентифицируете устройство, а вместо этого, для установки приложения. может быть, завтра они могут решить отклонить ваше приложение для этого..:/ надеясь, что это поможет.

Ответ 2

попробуйте это

- (NSString *)getDeviceID
{
    NSString *uuid = [self gettingString:@"uniqueAppId"];
    if(uuid==nil || [uuid isEqualToString:@""])
    {
        CFUUIDRef theUUID = CFUUIDCreate(kCFAllocatorDefault);
        if (theUUID)
        {
            uuid = NSMakeCollectable(CFUUIDCreateString(kCFAllocatorDefault, theUUID));
            [self savingString:@"uniqueAppId" data:uuid];
            [uuid autorelease];
            CFRelease(theUUID);
        }
    }
    return uuid;

// this is depreciated  
//  UIDevice *device = [UIDevice currentDevice];
//  return [device uniqueIdentifier];
}

Ответ 3

Внедрите новую логику, чтобы получить Secure UDID.it предоставляется сторонней стороной

Узнайте о бесплатном решении:

Это действительно прекрасно работает и легко реализуется, не создавая шума, чтобы заменить устаревший метод.