In the simulator, if I had a UITextField
set to Secure (with autocomplete set to off though that should be the default) I never saw any text I typed there in the ~/Library/Application Support/iPhone Simulator/User/Library/Keyboard/dynamic-text.dat
, though a UITextField
set to autocomplete did have text end up in there.
If I turned off autocorrection on the field that was capturing before, I saw no more entries that I typed show up in that file.
I tried this both on the simulator, and also on the device - on the device I ran my same test application with a secure and unsecured text field (where I alternately turned on and off autocorrection), and then used SpyPhone to examine the keyboard cache. Again in all cases where the text field was marked as secure or had autocorrection turned off, I did not see anything I typed show up in the keyboard cache where I did if I typed it into a text field with auto-correction enabled - just to be clear even explicitly turning on autocorrection in an IB defined text field did not record anything if the field was also marked as secure (and I'm also not sure it tried to autocorrect).
Now I did note, that if I tried a UITextView instead of a UITextField, in that case even turning off autocorrection did not stop the text from being recorded. That seems like an oversight rather than a design choice. A workaround would be to use a UITextField, but that's not always possible... I'd file a Radar on that with Apple.
I can also verify that no common passwords I use (in Safari or applications) showed up in SpyPhone, so they are not in the cache. But pretty much any app collecting passwords uses a UITextField to do so.