iOS tracks everything you type and uses those words to suggest spelling corrections. This list of words used to be a clear text list buried in /private or /System (I don't remember where, which is my problem). I think Apple migrated it to a db/encrypted file for security/speed reasons.

My issue is that I have mistyped a number of words which now have the incorrect spelling in my user dictionary. So, now when I mistype the word the incorrect spelling is accepted as "correct". It is really frustrating.

I would like to review the list of words and remove those that I don't want. Where is the file that holds this data?

Direct Answer

Original Post

Slow Way

To reject the suggested word, finish typing the word as you want it, then tap the x to dismiss the suggestion before typing anything else. Each time you reject a suggestion for the same word, the iPhone becomes more likely to accept your word.

Fast Way

Reset the keyboard dictionary: Choose Settings > General > Reset and tap Reset Keyboard Dictionary. Resetting the keyboard dictionary erases all words you’ve added, and you can start over with a clean slate.

Second Option (Apps)

Looking at this post, it seems that there are two apps that could allow you to do this.

AutoCorrector ($0.99) allows you to add custom words to your iPhone’s dictionary so they are recognized and suggested by the autocorrect. You can also add list of short-hand words you use in text messages. The app doesn’t recognize all words – certain swear words are off-limits, however it’s an easy way to train your iPhone to behave.

ManualCorrect Pro ($0.99) is available through the Cydia store and works on jailbroken iPhones. The app switches some of the autocorrect features, so that you have to tap on the autocorrect bubble for it to be activated. The app also contains the ability to turn on autocorrect features for correct punctuation, and correct capitalization. Like AutoCorrector, you can create your own list of custom shortcuts.

This file does indeed contain the user dictionary (aka Shortcuts, accessible via Settings->General->Keyboard) in sqlite and seems to be the same as UserDictionaryWordKeyPairs.plist. However, what I was looking for was dynamic-text.dat in the same dir.
–
MERMSep 1 '13 at 14:38