Print? # Import <Foundation/Foundation. h>
@ Interface UUID: NSObject
{}
@ Property (nonatomic, readonly, retain) NSString * UUIDString;
+ (UUID *) sharedUUID;
@ End
# Import <Foundation/Foundation. h>
@ Interface UUID: NSObject
{}
@ Property (nonatomic, readonly, retain) NSString * UUIDString;
+ (UUID *) sharedUUID;
@ End
[Plain]
# Import "UUID. h"
# Define UUID_KEY (@ "MobileUUID ")
Static UUID * _ sharedUUID = nil;
@ Implementation UUID
@ Synthesize UUIDString = _ UUIDString;
+ (UUID *) sharedUUID;
{
@ Synchronized (self)
{
If (_ sharedUUID = nil)
{
_ SharedUUID = [[UUID alloc] init];
}
}
Return _ sharedUUID;
}
-(Id) init
{
If (self = [super init])
{
}
Return self;
}
# Pragma mark-
# Pragma mark UUIDString
-(NSString *) UUIDString
{
NSString * uuuidstring = [[NSUserDefaults standardUserDefaults] objectForKey: UUID_KEY];
If (uuidString & [uuidString length])
{
Return uuidString;
}
Else
{
CFUUIDRef uuidRef = CFUUIDCreate (nil );
CFStringRef stringRef = CFUUIDCreateString (nil, uuidRef );
UuidString = (NSString *) CFStringCreateCopy (nil, stringRef );
CFRelease (uuidRef );
CFRelease (stringRef );
[[NSUserDefaults standardUserDefaults] setObject: uuidString forKey: UUID_KEY];
[[NSUserDefaults standardUserDefaults] synchronize];
Return [uuidString autorelease];
}
Return nil;
}
# Pragma mark-
# Pragma mark dealloc
-(Void) dealloc
{
[_ UUIDString release];
[_ SharedUUID release];
[Super dealloc];
}
@ End
# Import "UUID. h"
# Define UUID_KEY (@ "MobileUUID ")
Static UUID * _ sharedUUID = nil;
@ Implementation UUID
@ Synthesize UUIDString = _ UUIDString;
+ (UUID *) sharedUUID;
{
@ Synchronized (self)
{
If (_ sharedUUID = nil)
{
_ SharedUUID = [[UUID alloc] init];
}
}
Return _ sharedUUID;
}
-(Id) init
{
If (self = [super init])
{
}
Return self;
}
# Pragma mark-
# Pragma mark UUIDString
-(NSString *) UUIDString
{
NSString * uuuidstring = [[NSUserDefaults standardUserDefaults] objectForKey: UUID_KEY];
If (uuidString & [uuidString length])
{
Return uuidString;
}
Else
{
CFUUIDRef uuidRef = CFUUIDCreate (nil );
CFStringRef stringRef = CFUUIDCreateString (nil, uuidRef );
UuidString = (NSString *) CFStringCreateCopy (nil, stringRef );
CFRelease (uuidRef );
CFRelease (stringRef );
[[NSUserDefaults standardUserDefaults] setObject: uuidString forKey: UUID_KEY];
[[NSUserDefaults standardUserDefaults] synchronize];
Return [uuidString autorelease];
}
Return nil;
}
# Pragma mark-
# Pragma mark dealloc
-(Void) dealloc
{
[_ UUIDString release];
[_ SharedUUID release];
[Super dealloc];
}
@ End