Replicare uniqueIdentifier

iPad, iPhone, MacOSX, Object-C Soft! Commenta l'articolo

Con iOS5 il metodo uniqueIdentifier è diventato deprecato e con molta probabilità in iOS6 verrà eliminato, per possibili violazioni della privacy.
Niente paura, possiamo avere un nostro udid in pochi passi:

@interface NSString (UUID)
   + (NSString *)uuid;
@end
 
@implementation NSString (UUID)
+ (NSString *)uuid {
    NSString *uuidString = nil;
    CFUUIDRef uuid = CFUUIDCreate(NULL);
    if (uuid) {
      uuidString = (NSString *)CFUUIDCreateString(NULL, uuid);
      CFRelease(uuid);
    }
   return [uuidString autorelease];
} @end


In questo modo generiamo un codice univoco alla prima partenza dell’applicazione.

#define UUID_USER_DEFAULTS_KEY @"UUID"
 
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
   NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
   if ([defaults objectForKey:UUID_USER_DEFAULTS_KEY] == nil) {
      [defaults setObject:[NSString uuid] forKey:UUID_USER_DEFAULTS_KEY];
      [defaults synchronize];
    } ...

Memorizzeremo l’udid nel db interno in modo da non averne un altro.

Buon lavoro.

Scrivi un Commento

Home | Graffiti e Disegni | Educazione | Chi siamo | Blog | Progetti | Contatti
RSS Feed Comments RSS Accedi