Je souhaite obtenir l'UDID de l'appareil iOS par programmation. J'utilise le code suivant pour obtenir l'UDID de l'appareil iOS.
NSUUID *uuid = [NSUUID UUID];
NSString *uuidString = uuid.UUIDString;
Mais la sortie que j'obtiens est différente de l'UDID réel de mon appareil.
NSString* identifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; // IOS 6+
NSLog(@"output is : %@", identifier);
Swift 2.X (ICI X DENOTE SUR TOUTES LES VERSIONS DE 2.0)
let identifier: String = UIDevice.currentDevice().identifierForVendor().UUIDString()
NSLog("output is : %@", identifier)
Swift3
let identifier = UIDevice.current.identifierForVendor?.uuidString
NSLog("output is : %@", identifier! as String)
supplémentaire référence
Apple commence apparemment à supprimer l'accès à l'UDID (Unique Device IDentifier) dans iOS5. Dans tous les cas, le mieux que vous puissiez faire à présent à des fins d'identification est d'utiliser un UUID (ID universel unique). Cela doit être sur une base par application. Autrement dit, il n'y a aucun moyen d'identifier l'appareil plus longtemps, mais vous pouvez identifier une application sur un appareil. Tant que l'utilisateur ne supprime pas complètement l'application, cet identifiant persistera entre les lancements d'applications, et au moins vous identifiez le même utilisateur à l'aide d'une application particulière sur un appareil. Malheureusement, si l'utilisateur supprime complètement puis réinstalle l'application, l'ID changera, mais c'est le mieux que tout le monde puisse faire à l'avenir.