I read https://helgesver.re/articles/macos-vulgar-word-flags about ~/Library/Keyboard/VulgarWordUsage.db, the per-app, per-recipient SQLite store macOS autocorrect uses to learn which swear words I am willing to type. The file does not exist on my Mac and I want to understand why and make macOS create it, without faking it: the OS must write the file, not you.
What is already known, so you do not have to rediscover it:
- AppleSpell (the autocorrect XPC service at /System/Library/Services/AppleSpell.service) hosts the iOS keyboard engine for inline predictive text. The database is created by TextInputCore's TI::VulgarWordUsageDatabaseWrapper the moment AppleSpell lazily initializes a TIKeyboardInputManager for a language. That happens once per AppleSpell process per language, and only when a real text view asks for inline predictions. Calling NSSpellChecker from a command-line tool does not reach that path.
- The usual reason the file is missing is that ~/Library/Keyboard itself does not exist. SQLite create