2012-03-09 12 views
16

Eventuali duplicati:
UIDevice uniqueIdentifier Deprecated - What To Do Now?alternativa a iPhone ID del dispositivo (UDID)

Anche se Apple non era affatto di Barcellona MWC (Mobile World Congress), c'era la certezza che ottenere il ID dispositivo verrà deprecato in ulteriore iOS SDK.

Non capisco perché Apple voglia limitare questo, ma non è questo l'argomento.

Devo preparare la mia applicazione a un'alternativa perché i miei utenti sono identificati e conosciuti per un uso migliore della mia app (non è necessario accedere o creare un account, ad esempio). E sono sicuro di non essere solo in quel caso.

Quindi qualcuno conosce un'alternativa da ottenere il deviceID? C'è un altro identificatore univoco, come l'indirizzo MAC, per esempio? Come prepari la tua app?

+0

vuoi l'id del dispositivo iphone o altro? –

+0

Voglio un altro identificatore univoco che deviceId, o un altro modo per identificare l'utente. – Martin

risposta

5

UPDATE

Cosa succede ad usare CFUUID per generare un UUID. È quanto possibile memorizzare in KEYCHAIN ​​ sul primo lancio .. si può ottenere in questo modo ...

NSString *uuid = nil; 
CFUUIDRef theUUID = CFUUIDCreate(kCFAllocatorDefault); 
if (theUUID) { 
    uuid = NSMakeCollectable(CFUUIDCreateString(kCFAllocatorDefault, theUUID)); 
    [uuid autorelease]; 
    CFRelease(theUUID); 
} 

e anche da deprecato il metodo uniqueIdentifier, Apple sta suggerendo che non si identificano per dispositivo, ma invece per installazione di app. potrebbe essere domani potrebbero decidere di rifiutare la tua app per fare questo ..:/ sperando che questo aiuti.

+0

Grazie, ma non sarebbe lo stesso se l'utente elimina e installa nuovamente l'app (che, lo ammetto, non si verifica spesso). Un'altra cosa, questo UUID è generato su una macchina, quindi potrebbe non essere unico attraverso la nostra lista utenti sul nostro server. – Martin

+0

@ Martin Che ne dici di memorizzare il valore in portachiavi ...? quello non andrebbe via una volta che l'app è stata disinstallata ..? e anche deprecando il metodo uniqueIdentifier, Apple sta suggerendo di non identificare per dispositivo ma invece di installare app. potrebbe essere domani potrebbero decidere di rifiutare la tua app per fare questo ..:/ –

+0

@Martin si prega di controllare l'aggiornamento. –

2

provare questo

- (NSString *)getDeviceID 
{ 
    NSString *uuid = [self gettingString:@"uniqueAppId"]; 
    if(uuid==nil || [uuid isEqualToString:@""]) 
    { 
     CFUUIDRef theUUID = CFUUIDCreate(kCFAllocatorDefault); 
     if (theUUID) 
     { 
      uuid = NSMakeCollectable(CFUUIDCreateString(kCFAllocatorDefault, theUUID)); 
      [self savingString:@"uniqueAppId" data:uuid]; 
      [uuid autorelease]; 
      CFRelease(theUUID); 
     } 
    } 
    return uuid; 

// this is depreciated 
// UIDevice *device = [UIDevice currentDevice]; 
// return [device uniqueIdentifier]; 
} 
+0

Grazie, sono le stesse risposte di seguito. Vedi il mio commento – Martin

+0

quindi è necessario utilizzare l'indirizzo mac del dispositivo – hchouhan02

2

Si prega di implementare la nuova logica per ottenere UDID.it sicuro è fornito da terzi

Learn about free solution:

Questo funziona davvero bene ed è facile da implememt senza renderlo un polverone per sostituire il metodo deprecato.

+0

Grazie per il collegamento. Esistono diversi API UID che stanno crescendo sul Web. Non ne ho ancora provato uno. – Martin

+0

Il collegamento è rotto –

+0

Ciao Andre Ho aggiornato il collegamento. – Shantanu

Problemi correlati