web-dev-qa-db-fra.com

obtenir l'UDID de IOS périphérique par programme?

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.

16
Nishi Bansal
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.

51
Anbu.Karthik