I need to maintain my log-in credential for throughout the app so, I have 3 options to maintain my log-in credentials...
1 key chain
2 NSUserDefaults
3 plist
Which one is best one to choose ? Is there any other way is there to store the log-in credentials?
Thanks in advance
This link is intended to make using the Mac OSX and iOS Keychains as easy as NSUserDefaults.
It is a KVO-compliant Cocoa wrapper around the Mac OSX and iOS Keychains, and the model for this wrapper is NSUserDefaults, so the intent is that for the common cases you would normally want to call:
You should be able to call
And for the common cases you normally would have called:
You should be able to call
There are a couple of differences between the implementations. First, this class is only valid for strings, because that's what the Keychain accepts, so the methods that take non-string objects (like arrays and dictionaries and the like) have been omitted from the class. Secondly, right now, only "immediate mode" is implemented, so you can't set a bunch of values and then call "save" to do only one write, and there's no "revert to saved values" functionality).
i think NSUserDefaults is simple way to store the login credentials here is a tutorial
http://www.icodeblog.com/2008/10/03/iphone-programming-tutorial-savingretrieving-data-using-nsuserdefaults/
I'll suggest keychain for storing the login credentials due to the security feature it provides. The keychain services on iOS provide a means to securely store content such as passwords, keys, certificates, etc.
Sensitive data like passwords and keys should be stored in the Keychain. Apple's Keychain Services Programming Guide states that
Here is two nice tutorial for you.