Gibt es eine Möglichkeit, die iOS-Geräte-ID im iOS SDK abzurufen? Ich möchte die Kennung für den Zugriff auf die von der Xcode in Organizer präsentiert wird - Geräte Abschnitt, so etwas wie: 21xb1fxef5x2052xec31x3xd3x48ex5e437xe593Abrufen der iOS-Geräte-ID
Antwort
Vom Apple Documentation:
Eine alphanumerischen Zeichenfolge einzigartig für jedes Gerät auf verschiedene Hardware- Details basiert. (Read-only) (Veraltete in iOS 5.0. Nutzen Sie die identifierForVendor Eigenschaft dieser Klasse oder der advertisingIdentifier Eigenschaft der ASIdentifierManager Klasse statt, gegebenenfalls, oder verwenden Sie die UUID Methode der NSUUID Klasse eine UUID erstellen und schreiben es an die Benutzerstandarddatenbank.
)
Ja, es gibt.
[[UIDevice currentDevice] uniqueIdentifier]
EDIT: jedoch diese in iOS 5. sollten Diese Kennung ist veraltet nicht mehr, um weitere Informationen in iOS 5. Lesen this SO Post verwendet werden.
Dies ist in iOS 5 veraltet und Anwendungen, die dies verwenden, werden nicht in den App Store erlaubt. –
Es ist wie Sie sieht immer noch 6 UDID unter iOS zugreifen kann, aber es veraltet ist seit iOS 5.0 und Sie sollen es nicht verwenden (sowieso Du, dass Warnmeldungen angezeigt werden)
[UIDevice currentDevice].uniqueIdentifier
Wenn Sie benötigen eindeutige Kennung sollten Sie lieber verwenden:
[UIDevice currentDevice].identifierForVendor
oder wenn es mit irgendeiner Art von Werbung verbunden dann:
// from AdSupport.framework
[ASIdentifierManager sharedManager].advertisingIdentifier
Allerdings sind diese zwei neuen Eigenschaften nur unter iOS> = 6.0, auch advertisingIdentifier ist nicht wirklich einzigartig (ich bekomme viele Duplikate davon).
Ich nehme an, dass Sie so etwas tun können, wenn Sie wan't auch iOS < 6 zu unterstützen:
UIDevice *device = [UIDevice currentDevice];
NSString *ident = nil;
if ([device respondsToSelector:SEL(identifierForVendor)]) {
ident = [device.identifierForVendor UUIDString];
} else {
ident = device.uniqueIdentifier;
}
aber ich bin nicht sicher, wie Apfel, dass bei der Überprüfung reagieren.
Sie können auch eine Drittanbieterlösung wie
openUDID oder
secureUDID
verwenden. Offene und sichere UDIDs sind veraltet - verwenden Sie die ID für Anbieter/Werbung.
aktualisieren
Eine weitere Möglichkeit ist die MAC-Adresse als Basis für eindeutigen Hash, zum Beispiel die Verwendung von Code aus
ODIN1 verwenden -
source is here
Ab iOS7 MAC-Adresse ist kein länger Erhältlich. (Man kann es lesen, aber es wird immer die gleiche Dummy-Adresse sein 02: 00: 00: 00: 00: 00).
Die Eigenschaft ist in iOS 5.0 veraltet – aumanets
yeah, sorry, zuerst schrieb ich uniqueIdentifier anstelle von identifierForVendor, aber ich denke sowieso, es war ziemlich offensichtlich, dass etwas falsch ist, wenn ich schrieb, dass Sie nicht uniqueIdentifier und in der zweiten Zeile, dass Sie verwenden sollten sollte es verwenden;) – lupatus
SecureUDID wird nicht mehr von Crashlytics unterstützt; Sie schreiben: "Wir empfehlen stattdessen, Apples iOS 6-Anbieter und Werbe-IDs zu verwenden." –
können Sie eindeutige Gerätekennung als
[[UIDevice currentDevice] uniqueIdentifier]
+ (NSString *)uuid
{
NSString *uuidString = nil;
CFUUIDRef uuid = CFUUIDCreate(NULL);
if (uuid) {
uuidString = (NSString *)CFUUIDCreateString(NULL, uuid);
CFRelease(uuid);
}
return [uuidString autorelease];
}
Es funktioniert 100% finden, auch an Simulatoren zu ...
NSString* identifier = nil;
if([UIDevice instancesRespondToSelector:@selector(identifierForVendor)]) {
// iOS 6+
identifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
} else {
// before iOS 6, so just generate an identifier and store it
identifier = [[NSUserDefaults standardUserDefaults] objectForKey:@"identiferForVendor"];
if(!identifier) {
CFUUIDRef uuid = CFUUIDCreate(NULL);
identifier = (__bridge_transfer NSString*)CFUUIDCreateString(NULL, uuid);
CFRelease(uuid);
[[NSUserDefaults standardUserDefaults] setObject:identifier forKey:@"identifierForVendor"];
}
}
- 1. Abrufen der Sicherheitsbeschreibung und Abrufen der Nummer für FileSystemRights
- 2. Delphi Abrufen der Dateiposition
- 3. Abrufen der Domain-URL
- 4. Abrufen der Anwendungspoolidentität programmgesteuert
- 5. Kontext der Vordergrundaktivität abrufen
- 6. Abrufen der aktuellen Bildnummer
- 7. Abrufen der IP-Adresse
- 8. Wert der Abfragezeichenfolge abrufen
- 9. Abrufen der CLR-ID
- 10. Index der Jquery Tabs abrufen
- 11. Anzahl der viewControllers nicht abrufen
- 12. Mausposition während der Mausbewegung abrufen?
- 13. Abrufen der Monitorgröße in Python
- 14. Abrufen der Netzwerkmaske in Python
- 15. Abrufen der Abhörport während BuildProtocol
- 16. Batterieladezustand der angeschlossenen Smartwatches abrufen
- 17. Abrufen der tatsächlichen Bildschirmhöhe (Android)
- 18. java.lang.NullPointerException beim Abrufen der Position
- 19. Fehler beim Abrufen der Sitzungsvariablen
- 20. Wert der Zeichenfolge abrufen Klassenattribut
- 21. Abrufen der Klasseninstanz von jquery
- 22. Programmgesteuertes Abrufen der GPU-Auslastung
- 23. Liste der Schriftarten abrufen (Win32)
- 24. Abrufen der Federsitzungsinformationen vom Federaktuator
- 25. Abrufeinschränkungen in der Sammlungsansichtszelle abrufen?
- 26. Abrufen der Bandgeschwindigkeit aus Computertomographiebildern
- 27. JQL: Liste der Sprints abrufen
- 28. Gesamten Inhalt der Seite abrufen?
- 29. PHP: Argumente der Methode abrufen?
- 30. Abrufen der Positionsgenauigkeit mit geopy
Warum wollen Sie diese Kennung erhalten ? –
Ich muss das Gerät eindeutig identifizieren – aumanets