2016-05-02 11 views
0

Seit iOS 7 ist es unmöglich, UDID direkt auf einem Apple iOS-Gerät zu erhalten.So finden Sie UDID für iOS9

ich weiß Apple schlägt vor für die Verwendung von UIDevice.currentDevice(). BezeichnerForVendor? .UUIDString. aber es ändert sich jedes Mal nach der Deinstallation der App.

Ich möchte GCM an die Benutzer senden, und pro Benutzer gibt es zwei bis drei iOS-Geräte. Also zum eindeutigen Identifizieren der Geräte möchte ich UDID.

für ex. wenn der Benutzer zwei Geräte hat

in meiner Server-Datenbank zu speichern, ich bin es, wie diese

userID - >>> [email protected]

GCMID - >>> {UDIDForDevice1: GCMTokenForDevice1, UDIDForDevice2: GCMTOkenForDevice2}

+0

Die herstellerspezifische UDID ändert sich nach der Deinstallation der App nicht unbedingt. Warum benötigen Sie die UDID und warum funktioniert die herstellerspezifische ID nicht? – nhgrif

+0

Ich möchte GCM an die Benutzer senden, und pro Benutzer gibt es zwei bis drei iOS-Geräte. Also zum eindeutigen Identifizieren der Geräte möchte ich UDID. –

+0

Also, Ihre * tatsächliche * Frage ist, wie einzigartige Geräte über einen einzelnen Benutzer zu identifizieren? Weil 'vendorSpecificId' das tut. – nhgrif

Antwort

1

Wenn Sie ein Gerät wirklich eindeutig identifizieren möchten, speichern Sie eine UUID auf dem Schlüsselbund. Siehe How to preserve identifierForVendor in ios after uninstalling ios app on device?.

Für GCM sollten Sie wahrscheinlich Instance ID API verwenden, anstatt Ihr eigenes Identifikationsformat zu erfinden.


Für die ursprüngliche Frage, die Seite www.easy-udid.com verwendet Over-the-Air Profile Delivery and Configuration die UDID und andere Geräteinformationen zu erhalten.

Die Schaltfläche Links zu einer qilin.en.mobileconfig Datei „my UDID Get“, die mit dem folgenden Inhalt eine Configuration Profile plist-Datei ist:

{ 
    "PayloadType":"Profile Service", 
    "PayloadContent":{ 
    "DeviceAttributes":[ 
     "UDID", 
     "VERSION", 
     "PRODUCT", 
     "SERIAL" 
    ], 
    "URL":"http://www.easy-udid.com/retrieve.php" 
    }, 
    ... 
} 

Wenn der Benutzer das Profil installiert, wird die UDID des Telefon senden, Version , Produkt- und Seriennummer beim Öffnen der angegebenen URL (http://www.easy-udid.com/retrieve.php). Der Server kann dann das Ergebnis dem Benutzer anzeigen.

Für einige Beispielantworten siehe https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/iPhoneOTAConfiguration/ConfigurationProfileExamples/ConfigurationProfileExamples.html.

+0

(Aber ich bezweifle, warum Sie eine permanente ID für Cloud-Messaging benötigen) ........... weil ich GCM-Token auf meinem Server in der Datenbank in einer Schlüsselwertform speichern {deviceID: GCMToken} –

+0

bitte bevorzugen das Beispiel in Frage –

+0

@Parth Es scheint, dass Sie Instanz-ID sowieso verwenden sollen. Bitte überprüfen Sie das Update. – kennytm

Verwandte Themen