meilleur moyen de générer un identifiant unique

guittonewsguittonews Membre
18:16 modifié dans API UIKit #1
bonjour à  tous :)

Je me demandais quel était le meilleur moyen de générer un identifiant unique sur iPhone (sachant que l'identifiant doit être vraiement unique, plusieurs iPhone confondu...).

Est il possible d'utiliser l'identifiant de l'appareil? (en concatenant avec dateheure ca serait parfait)

Quelqu'un a déjà  fait ça? des idées?

thxx à  tous :)

Réponses

  • AliGatorAliGator Membre, Modérateur
    18:16 modifié #2
    [UIDevice currentDevice].uniqueIdentifier te permet de récupérer le UUID de ton téléphone, avec ça tu as déjà  l'unicité entre différents iPhones.

    Mais sinon il suffit de rechercher "uuid" dans la doc Apple pour trouver ton bonheur.
    // générer un UUID unique<br />CFUUIDRef uuid = CFUUIDCreate(NULL);<br />// récupérer la NSString représentant ce UUID.<br />NSString* uuidString = (NSString*)CFUUIDCreateString(NULL,uuid); <br />NSLog(@&quot;UUID String : %@&quot; , uuidString);<br /><br />// tu peux aussi utiliser la structure CFUUIDBytes :<br />CFUUIDBytes bytes = CFUUIDGetUUIDBytes(uuid);<br />NSLog(@&quot;début de l&#39;UUID en hexa : %02X %02X ...&quot; , bytes.byte0 , bytes.byte1);
    
    A priori ça crée un identifiant totalement unique, y compris entre 2 iPhones (la probabilité d'avoir 2 UUID identiques étant tellement petite qu'elle en est négligeable)
  • guittonewsguittonews Membre
    18:16 modifié #3
    Rapide, efficace : ALI tu m'as rendu un grand service merciii :)
  • AntilogAntilog Membre
    18:16 modifié #4
    Rapide et efficace sont ses deux prénoms...

    Il en a un autre, "verbeux", mais en ce moment, il se soigne :kicking:
  • schlumschlum Membre
    18:16 modifié #5
    Pour éviter de passer par CoreFoundation -> "man uuid_generate"
  • guittonewsguittonews Membre
    18:16 modifié #6
    ok je prends tout :) la diff entre les deux? pro/cons?

    thxx
  • schlumschlum Membre
    18:16 modifié #7
    Bah, y a pas de diff... je pense que CFUUIDCreateString est un wrapper au dessus de uuid_generate.  :)
  • guittonewsguittonews Membre
    18:16 modifié #8
    lol oki mercii :)
Connectez-vous ou Inscrivez-vous pour répondre.