2016-05-02 10 views
0

Ich habe in einer Anwendung gearbeitet und diese Anwendung muss eine eindeutige ID verwenden, die dafür verantwortlich ist, eine Verbindung mit dem Server zur Synchronisierung herzustellen. Wenn sich diese ID ändert, verliert meine Anwendung die Verbindung und alle wichtigen Daten sollten verloren gehen.Wird "identifierForVendor" bei iOS oder xCode aktualisiert?

Momentan benutze ich "identifierForVendor", aber das scheint in irgendeiner Bedingung nicht nützlich. Es ändert sich in einem Zustand, den ich unten erwähnt habe, bitte überprüfe und gebe einen Vorschlag, um dieses Problem zu lösen.

"identifierForVendor" getting changed in the condition: 

1) Delete app and then reinstalled again using different vendor (always). 
2) Delete app and then reinstalled again using even same vendor (random). 
3) iOS and xCode update (xCode-7.3/iOS-9.3)(not sure about frequency but on my last update its changed). 

Bitte helfen Sie mir.

+0

warten, was ist die eigentliche Frage ? Sie haben Ihre Frage beantwortet (_Can 'identifierForVendor' change? _). Ich denke also, Ihre eigentliche Frage ist etwas wie "Was sollte ich stattdessen verwenden?". Das hängt von Ihrem Anwendungsfall ab. Sie müssen Ihre Anforderungen und Design-Ziele veröffentlichen, damit wir Ihnen dabei helfen können. – DarkDust

Antwort

1

Ja, identifierForVendor kann sich in einigen Fällen ändern.

So können Sie SSKeychain verwenden, um Ihre unique ID in KeyChain zu speichern.

Importieren Sie SSKeychain.h, SSKeychain.m, SSKeychainQuery.h and SSKeychainQuery.m Dateien zu Ihrem Projekt.

fügen Sie die Security.framework hinzu.

Speichern einzigartige ID:

[SSKeychain setPassword:@"AnyID" forService:@"AnyService" account:@"AnyUser"] 

Abrufen einer eindeutigen ID:

NSString *UniqueID = [SSKeychain passwordForService:@"AnyService" account:@"AnyUser"]; 

bearbeiten (wie DarkDust vorgeschlagen):

Herunterladen SSKeychain: https://github.com/soffes/SSKeychain

+0

Dieser Inhalt enthält keine 'SSKeychain'. [Hier ist das GitHub-Projekt.] (Https://github.com/soffes/SSKeychain) Da es CocoaPods unterstützt, ist es besser, das zu verwenden, um auf dem neuesten Stand zu bleiben. – DarkDust

+0

Edited ... thanks @ DarkDust –

+0

Wenn ich hart codiert AnyID = aaa, AnyService = xxx, anyuser = zzz, Wird es für jedes Gerät eindeutig sein? Wird es für dasselbe Gerät immer gleich sein (spielt keine Aktualisierung von iOS oder löschen und erneut die App installieren)? – tauheed

Verwandte Themen