В настоящее время я работаю над набором приложений iOS, которые будут использовать один и тот же сервер для аутентификации. Сервер использует UDID для аутентификации устройства. Я знаю, что uniqueIdentifier теперь устарел, поэтому мне интересно, что лучше всего использовать уникальный идентификатор для всех приложений? (Я знаю, как создавать самостоятельно и хранить его в связке ключей, но это будет специализированной) Я видел проводки о identifierForVendor и identifierForAdvertisingУникальный идентификатор устройства iOS во всех приложениях
ответ
документы говорят:
[
uniqueIdentifier
является] устаревшим iOS 5.0. Используйте свойство identifierForVendor этого класса или свойство advertisingIdentifier класса ASIdentifierManager вместо этого, если это необходимо, или используйте UUID-метод класса NSUUID для создания UUID и записи его в базу данных по умолчанию пользователя.
Как мы знаем UniqueIdentifier осуждается в прошивкой 5.0 так Docs рекомендуем использовать CFUUID
вместо этого. Вы можете получить CFUUID с помощью
CFUUIDRef uuidRef = CFUUIDCreate(kCFAllocatorDefault);
NSString *uuidString = (NSString *)CFUUIDCreateString(NULL,uuidRef);
CFRelease(uuidRef);
Пожалуйста, сохраните uuidString в пользовательских значений по умолчанию или в другом месте, потому что вы не можете создать тот же uuidString снова.
Надеюсь, это поможет вам.
Спасибо, да, я знаю, как создать новую строку UUID, но если я ' m Не ошибочные пользовательские значения по умолчанию недоступны для приложений, правильно? Поэтому у каждого приложения будет другой UUID, который не подходит для того, что я пытаюсь выполнить в этой ситуации. – jrushing
@JustinRushing Тогда почему вы отклоняете, например. решение для брелка? – matt
Вы можете сохранить UUID в цепочке ключей, если вам нужно получить доступ ко многим приложениям. Это не должно быть проблемой для вас. –
Pls взгляните на http://stackoverflow.com/questions/6993325/uidevice-uniqueidentifier-deprecated-what-to-do-now – nkongara