मैं iPhone और iPad पर GUID / UUID बनाने में सक्षम होना चाहता हूं।
इरादा वितरित डेटा के लिए कुंजी बनाने में सक्षम है जो सभी अद्वितीय हैं। क्या आईओएस एसडीके के साथ ऐसा करने का कोई तरीका है?
मैं iPhone और iPad पर GUID / UUID बनाने में सक्षम होना चाहता हूं।
इरादा वितरित डेटा के लिए कुंजी बनाने में सक्षम है जो सभी अद्वितीय हैं। क्या आईओएस एसडीके के साथ ऐसा करने का कोई तरीका है?
जवाबों:
[[UIDevice currentDevice] uniqueIdentifier]
आपके आईफोन की यूनिक आईडी लौटाता है।
EDIT:
-[UIDevice uniqueIdentifier]
अब पदावनत हो गया है और ऐप स्टोर से इसका उपयोग करने के लिए ऐप्स को अस्वीकार कर दिया जा रहा है। नीचे दी गई विधि अब पसंदीदा तरीका है।
यदि आपको कई यूयूआईडी बनाने की आवश्यकता है, तो बस इस विधि का उपयोग करें (एआरसी के साथ):
+ (NSString *)GetUUID
{
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
return (__bridge NSString *)string;
}
संपादित करें: जनवरी, २ ९, २०१४: यदि आप ६ या बाद में आईओएस को लक्षित कर रहे हैं, तो अब आप बहुत सरल विधि का उपयोग कर सकते हैं:
NSString *UUID = [[NSUUID UUID] UUIDString];
यहां मैं सरल कोड का उपयोग कर रहा हूं, जो एआरसी के अनुरूप है।
+(NSString *)getUUID
{
CFUUIDRef newUniqueId = CFUUIDCreate(kCFAllocatorDefault);
NSString * uuidString = (__bridge_transfer NSString*)CFUUIDCreateString(kCFAllocatorDefault, newUniqueId);
CFRelease(newUniqueId);
return uuidString;
}
IOS 6 में आप आसानी से उपयोग कर सकते हैं:
NSUUID *UUID = [NSUUID UUID];
NSString* stringUUID = [UUID UUIDString];
एप्पल के दस्तावेज़ों में अधिक जानकारी
सबसे सरल तकनीक का उपयोग करना है NSString *uuid = [[NSProcessInfo processInfo] globallyUniqueString]
। NSProcessInfo वर्ग संदर्भ देखें ।
मैंने अपना सरल लेकिन तेज़ कार्यान्वयन ओब्जेक के लिए एक गाइड वर्ग के यहाँ अपलोड किया है: obj-c GUID
Guid* guid = [Guid randomGuid];
NSLog("%@", guid.description);
यह और साथ ही विभिन्न स्ट्रिंग प्रारूपों से पार्स कर सकता है।