Поскольку это немного устарело, сейчас я просто даю актуальный ответ.
Поскольку Apple
счел целесообразным запретить разработчикам использовать [[UIDevice currentDevice] uniqueIdentifier];
с iOS 6
и далее, которые Suhail Patels
отвечают советам для использования. Теперь они начали призывать разработчиков использовать [[UIDevice currentDevice] identifierForVendor];
, но некоторые разработчики не понимают, разрешено ли им использовать uniqueIdentifier
, даже если они все еще разрабатываются для iOS 5
и ниже или нет. Apple
немного суетился по этому поводу, просто говоря:
"Apps that use the `UDID` will be rejected in the App Store review process.."
Давай Apple
расскажи немного подробнее.
В любом случае, из-за этой путаницы некоторые разработчики начали использовать OpenUDID для получения уникального идентификатора. Вот некоторый код о том, как его можно использовать:
if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) {
// Use: [[[UIDevice currentDevice] identifierForVendor] UUIDString];
} else {
// Use: [OpenUDID value];
}
EDIT
Некоторые разработчики также считают целесообразным начать использовать MAC-адрес, поскольку UDID
устарела. Это связано с тем, что MAC-адреса основаны на оборудовании и поэтому не могут быть изменены. Для тех из вас, кто хочет использовать MAC-адрес, Apple предоставил пример кода на Получение MAC-адреса .