Você pode usar isso (Swift 3):
UIDevice.current.identifierForVendor!.uuidString
Para versões mais antigas:
UIDevice.currentDevice().identifierForVendor
ou se você quiser uma string:
UIDevice.currentDevice().identifierForVendor!.UUIDString
Não há mais uma maneira de identificar exclusivamente um dispositivo depois que o usuário desinstalou o (s) aplicativo (s). A documentação diz:
O valor nessa propriedade permanece o mesmo enquanto o aplicativo (ou outro aplicativo do mesmo fornecedor) está instalado no dispositivo iOS. O valor muda quando o usuário exclui todos os aplicativos desse fornecedor do dispositivo e, posteriormente, reinstala um ou mais deles.
Você também pode ler este artigo de Mattt Thompson para obter mais detalhes:
http://nshipster.com/uuid-udid-unique-identifier/
Atualização para o Swift 4.1 , você precisará usar:
UIDevice.current.identifierForVendor?.uuidString
Você pode usar a propriedade pública identifierForVendor presente na classe UIDevice
EDIT Swift 3:
EDIT FIM
fonte
Para o Swift 3.X , o código de trabalho mais recente, uso fácil;
fonte
Você pode usar a documentação da Apple devicecheck (no Swift 4)
Uso típico:
Necessidades de ação do servidor:
Ver WWDC 2017 - Sessão 702
mais do artigo de Santosh Botre - Identificador exclusivo para dispositivos iOS
fonte
Swift 2.2
fonte
fonte
fonte
O valor de identifierForVendor muda quando o usuário exclui todos os aplicativos desse fornecedor do dispositivo. Se você deseja manter o ID exclusivo mesmo para as instalações novas subsequentes, pode tentar usar a seguinte função
fonte
Eu tentei com
em vez de
e funciona.
fonte