У меня есть следующий код для получения идентификатора
deviceName = [[UIDevice currentDevice]uniqueIdentifier];
Но я получил предупреждение uniqueIdentifier устарел в ios5.
так как получить значение идентификатора в ios5?
У меня есть следующий код для получения идентификатора
deviceName = [[UIDevice currentDevice]uniqueIdentifier];
Но я получил предупреждение uniqueIdentifier устарел в ios5.
так как получить значение идентификатора в ios5?
Вы можете использовать следующий код
if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) {
// This will run if it is iOS6 or higher
return [[[UIDevice currentDevice] identifierForVendor] UUIDString];
} else {
// This will run before iOS6 and you can use openUDID or other
// method to generate an identifier
}
И таким образом вы можете сохранить предыдущие минимальные требования.
Этот идентификатор уникален для всех приложений от одного поставщика. Если вам нужен уникальный идентификатор устройства, вам необходимо использовать:
if (!NSClassFromString(@"ASIdentifierManager")) {
// This will run before iOS6 and you can use openUDID, per example...
return [OpenUDID value];
}
return [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
Предупреждение. На iOS6 есть ошибка, которая сообщает "нулевой" идентификатор, если устройство было обновлено "по воздуху" - Подробнее
в ios 7 вам лучше использовать [UIDevice identifierForVendor] или вы столкнулись с проблемой, потому что возвращается только фальшивый MAC-адрес.
Вы больше не можете получить UUID. Это запрещено, ваше приложение будет отклонено Apple.
Метод, продемонстрированный J.Costastrong > , является хорошим для iOS 6.
Но если вы хотите сохранить один и тот же идентификатор в своем приложении, когда ваш пользователь обновит свой телефон или в нескольких ваших приложениях (если у них нет одинакового идентификатора семени Bundle), используйте это: https://github.com/blackpixel/BPXLUUIDHandler
Очень полезно!