2011-08-20 1 views

Répondre

2

Toutes les propriétés et méthodes associées à un objet UIDevice sont décrits dans le UIDevice Class Reference

Pour accéder à l'unique identifer, vous pouvez faire quelque chose comme:

NSString *identifier = [[UIDevice currentDevice] uniqueIdentifier]; 
+1

Juste à noter, dans iOS5, la propriété uniqueIdentifier sera obsolète. Voici un article de TechCrunch expliquant plus: http://techcrunch.com/2011/08/19/apple-ios-5-phasing-out-udid/ –

+0

@Suhail Patel, Comment est-il supposé identifier un utilisateur dans iOS 5? sans UDID? Y a-t-il des bonnes pratiques? –

3

Pour iOS 5, vous pouvez créer un nouveau, mais pas identifiant unique avec ceci:

CFUUIDRef UIID = CFUUIDCreate(NULL); 
CFStringRef UIIDString = (CFUUIDCreateString(NULL, UIID)); 
NSString *string = [NSString stringWithFormat:@"%@",UIIDString];  

Enregistrer dans un fichier et de l'utiliser comme identifiant unique

+0

Cool, merci pour le code et votre aide! –

+3

Pour iOS 6 et versions ultérieures, vous pouvez utiliser [[UIDevice currentdevice] identifierForVendor]; –

5

Parce que c'est un peu démodé maintenant, je donne juste une réponse à jour.

Parce que Apple a jugé bon d'arrêter les développeurs utilisant le [[UIDevice currentDevice] uniqueIdentifier]; de partir iOS 6 qui Suhail Patels conseils de réponse à utiliser. Ils ont maintenant commencé à dire aux développeurs d'utiliser [[UIDevice currentDevice] identifierForVendor];, mais certains développeurs sont confus sur s'ils sont toujours autorisés à utiliser uniqueIdentifier même si elles sont encore en développement pour iOS 5 et ci-dessous ou non. Apple ont été un peu pointilleux sur ce juste dire:

"Apps that use the `UDID` will be rejected in the App Store review process.." 

Venez Apple nous donner un peu plus en détail.

Quoi qu'il en soit, en raison de la confusion derrière cela, certains développeurs ont commencé à utiliser OpenUDID pour obtenir un identifiant unique. Voici un code sur la façon dont il peut être utilisé:

if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) { 
     // Use: [[[UIDevice currentDevice] identifierForVendor] UUIDString]; 
    } else { 
     // Use: [OpenUDID value]; 
    } 

EDIT

Certains développeurs ont désormais jugé bon de commencer à utiliser l'adresse MAC depuis UDID a été dépréciée. En effet, les adresses MAC sont basées sur le matériel et ne peuvent donc pas être modifiées. Pour ceux d'entre vous qui pour aller à l'adresse MAC façon apple ont fourni quelques exemples de code sur Getting MAC Address.

+2

@downvoter s'il vous plaît laissez raison pour downvote, ne pas simplement downvote. Si vous laissez une raison, je peux corriger mon erreur, améliorer une réponse ou simplement travailler sur la raison. Donc, laisser une raison serait bénéfique pour tout le monde. – Popeye

Questions connexes