Πώς να δημιουργήσετε ένα GUID / UUID χρησιμοποιώντας το iPhone SDK

ψήφοι
192

Θέλω να είναι σε θέση να δημιουργήσουν ένα GUID / UUID για το iPhone και το iPad.

Η πρόθεση είναι να είναι σε θέση να δημιουργήσουν τα κλειδιά για την κατανομή των δεδομένων που είναι όλα μοναδικά. Είναι ένας τρόπος για να το κάνετε αυτό με το iOS SDK εκεί;

Δημοσιεύθηκε 09/01/2009 στις 06:45
πηγή χρήστη
Σε άλλες γλώσσες...                            


8 απαντήσεις

ψήφοι
309

[[UIDevice currentDevice] uniqueIdentifier]

Επιστρέφει το μοναδικό αναγνωριστικό του iPhone σας.

EDIT: -[UIDevice uniqueIdentifier]τώρα καταργηθεί και οι εφαρμογές που απορρίφθηκαν από το App Store για τη χρήση του. Η παρακάτω μέθοδος είναι τώρα η προτιμώμενη προσέγγιση.

Εάν θέλετε να δημιουργήσετε πολλά UUID, απλά χρησιμοποιήστε αυτή τη μέθοδο (με ARC):

+ (NSString *)GetUUID
{
  CFUUIDRef theUUID = CFUUIDCreate(NULL);
  CFStringRef string = CFUUIDCreateString(NULL, theUUID);
  CFRelease(theUUID);
  return (__bridge NSString *)string;
}

EDIT: Jan 29 2014: Αν στοχεύετε iOS 6 ή νεότερη έκδοση, μπορείτε τώρα να χρησιμοποιήσετε το πολύ πιο απλή μέθοδο:

NSString *UUID = [[NSUUID UUID] UUIDString];
Απαντήθηκε 09/01/2009 στις 10:35
πηγή χρήστη

ψήφοι
99

Εδώ είναι το απλό κώδικα Είμαι με τη χρήση, συμβατή με ARC.

+(NSString *)getUUID
{
    CFUUIDRef newUniqueId = CFUUIDCreate(kCFAllocatorDefault);
    NSString * uuidString = (__bridge_transfer NSString*)CFUUIDCreateString(kCFAllocatorDefault, newUniqueId);
    CFRelease(newUniqueId);

    return uuidString;
}
Απαντήθηκε 23/05/2012 στις 01:51
πηγή χρήστη

ψήφοι
84

Στο iOS 6, μπορείτε εύκολα να χρησιμοποιήσετε:

NSUUID  *UUID = [NSUUID UUID];
NSString* stringUUID = [UUID UUIDString];

Περισσότερες λεπτομέρειες στο τεκμηριώσεις της Apple

Απαντήθηκε 23/03/2013 στις 06:19
πηγή χρήστη

ψήφοι
45

Επανεξέταση της τεκμηρίωσης της Apple Developer βρήκα το CFUUID αντικείμενο είναι διαθέσιμο για το iPhone OS 2.0 και νεότερες εκδόσεις.

Απαντήθηκε 09/01/2009 στις 07:14
πηγή χρήστη

ψήφοι
22

Η απλούστερη τεχνική είναι η χρήση NSString *uuid = [[NSProcessInfo processInfo] globallyUniqueString]. Δείτε το NSProcessInfo αναφοράς τάξη.

Απαντήθηκε 03/03/2009 στις 22:48
πηγή χρήστη

ψήφοι
19

Σε Swift :

var uuid: String = NSUUID().UUIDString
println("uuid: \(uuid)")
Απαντήθηκε 30/11/2014 στις 23:07
πηγή χρήστη

ψήφοι
12

Σε Swift 3.0

var uuid = UUID().uuidString
Απαντήθηκε 01/11/2016 στις 14:14
πηγή χρήστη

ψήφοι
7

Έχω ανεβάσει απλή αλλά γρήγορα εφαρμογή μου για μια κατηγορία Guid για ObjC εδώ: obj-γ GUID

Guid* guid = [Guid randomGuid];
NSLog("%@", guid.description);

Μπορεί να αναλύσει και από διάφορες μορφές εγχόρδων καθώς και.

Απαντήθηκε 02/04/2012 στις 19:11
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more