meilleur moyen de générer un identifiant unique

guittonewsguittonews Membre
15:26 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
    15:26 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
    15:26 modifié #3
    Rapide, efficace : ALI tu m'as rendu un grand service merciii :)
  • AntilogAntilog Membre
    15:26 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
    15:26 modifié #5
    Pour éviter de passer par CoreFoundation -> "man uuid_generate"
  • guittonewsguittonews Membre
    15:26 modifié #6
    ok je prends tout :) la diff entre les deux? pro/cons?

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