Problem mit KeychainItemWrapper
Ich verwende den folgenden code zum abrufen der Anmeldeinformationen aus der iPhone-Schlüsselanhänger:
KeychainItemWrapper *wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"Test" accessGroup:nil];
NSString *username = [wrapper objectForKey:(id)kSecAttrAccount];
NSString *password = [wrapper objectForKey:(id)kSecValueData];
[wrapper release];
Ich bin unter dem Eindruck, dass das erste mal, das ein Benutzer startet die app, weder Benutzername noch Passwort abgerufen werden konnten, aus dem Schlüsselbund, so username
und password
sollte gleich nil
. Ich war jedoch nicht in der Lage, drucken Sie eine dieser Variablen mit NSLog
.
Irgendwelche Vorschläge?
Was waren Sie in der Lage zu drucken? Warum nicht Sie einen Haltepunkt festlegen und prüfen der Objekte, die während der Ausführung?
Nichts. Nichts zeigt sich, wenn ich versuchte, um die Objekte zu drucken. Untersuchen Sie, nur die Anzeige der Adresse in der form von 0xSOMETHING.
blöde Frage, aber haben Sie überprüft, dass
Sie sollten akzeptieren, JRG Antwort. Die Werte sind so eingestellt, @ "" und nicht null.
Nichts. Nichts zeigt sich, wenn ich versuchte, um die Objekte zu drucken. Untersuchen Sie, nur die Anzeige der Adresse in der form von 0xSOMETHING.
blöde Frage, aber haben Sie überprüft, dass
wrapper
ist nicht null? Auch Stimme ich mit vfn über die Einstellung der break-Punkte...Sie sollten akzeptieren, JRG Antwort. Die Werte sind so eingestellt, @ "" und nicht null.
InformationsquelleAutor Anh Do | 2010-08-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Annahme ist falsch - bei der Erstellung der "kSecAttrAccount" und "kSecValueData" NICHT den Wert nil. Sie sind auf eine leere Zeichenfolge (""). So, dieser code wird true zurückgegeben:
[username length] > 0
InformationsquelleAutor JRG
NSLog
drucken diese Werte. Ich bin versucht zu bringen, bis der login-dialog, wenn Sie leer/null, aber es funktioniert nicht.Werden diese Werte halten, wenn das Relaunch der app?
InformationsquelleAutor Viraj
Gleichen Fehler bei mir, ich habe in der Rückgabewert für
writeToKeychain
Funktion inKeychainItemWrapper.m
- Datei. Rückgabewert ist gleicherrSecDuplicateItem
. Ich weiß nicht warum, aber scheint, wieSecItemCopyMatching
- Funktion nicht richtig funktioniert. (Für meine anderen Projekt richtig funktioniert).Änderte ich die codes für jetzt und für mich arbeiten:
Aktualisiert-codes für
writeToKeychain
imKeychainItemWrapper.m
Datei:InformationsquelleAutor Ethem Volkan USLU
Wenn die Werte sind zunächst null, mit
wird zu FALSE ausgewertet. Könnten Sie
statt
InformationsquelleAutor Martin Lockett