Vous cherchez votre aide
Je suis confronté à un problème lors de l'obtention de identificateur de périphérique. En fait, j'utilise les classes UIDevice + IdentifierAddition.h, NSString + MD5Addition.h pour obtenir Identifier, mais son identifiant est identique pour tous mes appareils, à savoir iPhone 4s (iOS 7.1) et iPhone 5 (iOS 7.1. 1).
Quelqu'un peut-il avoir une solution à ce problème? parce que je veux quelque chose d'unique pour un appareil spécifique. c'est mon exigence de l'application.
Important: Je souhaite soumettre cette application sur l'App Store. Par conséquent, la réponse doit être conforme aux instructions
Depuis iOS 7, il n'est plus possible d'obtenir des identifiants de périphérique uniques.
Vos options sont:
C'est maintenant possible dans iOS 11.0+, Apple a introduit une nouvelle API appelée DeviceCheck API
avec laquelle les développeurs peuvent identifier de manière unique un périphérique.
Comme mentionné dans la documentation :
Utilisation des API DeviceCheck, en combinaison avec des API serveur à serveur, vous pouvez définir et interroger deux bits de données par périphérique, tout en conservant confidentialité des utilisateurs. Vous pouvez utiliser ces données pour identifier les périphériques dotés de déjà profité d'une offre promotionnelle que vous fournissez, ou à signaler un appareil que vous avez déterminé frauduleux. Le Les API DeviceCheck vous permettent également de vérifier que le jeton que vous recevez provient bien depuis un appareil Apple authentique incluant votre application.
Découvrez également la vidéo WWDC17 suivante, qui commence à 24 minutes: https://developer.Apple.com/videos/play/wwdc2017/702/
MODIFIER:
Vous trouverez un tutoriel très détaillé sur ce sujet Device Check
ici .
En objectif c
NSString *uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
En rapide
var uniqueId=UIDevice.currentDevice().identifierForVendor.UUIDString as String
println("Your device identifires =>\(uniqueId)")
Malheureusement identificateurForVendor change lorsque vous désinstallez votre application afin de garantir qu’elle ne changera pas, sauvegardez-la dans le trousseau
J'ai utilisé le pod 'SSKeychain' Homepage: https://github.com/soffes/sskeychain
Voici le code
+ (NSString *)getDeviceId {
NSString *appName=[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString*)kCFBundleNameKey];
NSString *strApplicationUUID = [SSKeychain passwordForService:appName account:@"MY_KEY"];
if (strApplicationUUID == nil) {
strApplicationUUID = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
[SSKeychain setPassword:strApplicationUUID forService:appName account:@"MY_KEY"];
}
return strApplicationUUID;
}
[UIDevice uniqueIdentifier]; est obsolète dans iOS 5 et supérieur.
Vous pouvez obtenir l'identifiant du vendeur en utilisant ceci NSString * udid = [[UIDevice currentDevice] uniqueIdentifier];
et stocker cela dans le trousseau et utiliser plus tard.
Aussi, vous pouvez vérifier pour 1) NSUUID 2) CFUUID
vous obtiendrez une description détaillée ici Identification unique de l'appareil dans ios
Si vous essayez d’identifier un périphérique une seule fois, c’est-à-dire pour estimer le nombre d’utilisateurs uniques, alors je vous suggère d’utiliser "advertisingIdentifier" de ASIdentifierManager.