Ten link ja s mają na celu użycie kluczy Mac OSX i iOS tak łatwych jak NSUserDefaults.
Jest to KVO zgodny Cocoa wrapper wokół Mac OS X i iOS Breloki, i wzór dla tej owijki NSUserDefaults, więc intencją jest to, że dla zwykłych przypadkach normalnie chce zadzwonić:
[NSUserDefaultsController sharedUserDefaultsController]
Powinieneś zadzwonić
[PDKeychainBindingsController sharedKeychainBindingsController]
A dla typowych przypadkach zwykle nazwałby:
[NSUserDefaults standardUserDefaults]
Powinieneś zadzwonić
[PDKeychainBindings sharedKeychainBindings]
Istnieje kilka różnic pomiędzy implementacjami. Po pierwsze, ta klasa jest ważna tylko dla łańcuchów, ponieważ to jest to, co akceptuje Keychain, więc metody, które pobierają obiekty nie będące ciągami (takie jak tablice i słowniki i tym podobne) zostały pominięte w klasie. Po drugie, teraz tylko "tryb natychmiastowy" jest zaimplementowany, więc nie można ustawić paczki wartości, a następnie wywołać "zapisz", aby wykonać tylko jedno zapisanie i nie ma funkcji "przywróć zapisane wartości".
Cześć dzięki za szybką odpowiedź ... ale mam w tym jedną wątpliwość? ... podczas przechowywania w kluczowym łańcuchu jest bezpieczny, ale podczas stanu odinstalowania klucz łańcucha zawiera hasło nie zostanie usunięte, jak ja utrzymywać to? – Spynet
Nawet jeśli aplikacja została usunięta, a hasło jest przechowywane w pęku kluczy, jest bezpieczne. Nie ma możliwości usunięcia go z pęku kluczy po usunięciu aplikacji. Jeśli już, hasło będzie się utrzymywać do czasu ponownego zainstalowania aplikacji. Nikt nie może uzyskać do niego dostępu lub go zobaczyć. –
@Spynet: to będzie jeden problem, możesz go pokonać, dodając tylko jedną flagę do NSUSerDefault. Gdy aplikacja jest uruchomiona, najpierw sprawdź bool. Bool wskazuje, że hasło jest zapisane w pęku kluczy. –