UserDefaults and cfprefsd manage the preference system, an amorphous database spread across hundreds of files which can only be controlled in Terminal. It’s time for a change.
Preference files are involved in many Mac problems, and are often their solution. Using them now isn’t simple: here is some guidance.
Version numbers are simple, aren’t they? So how come so few of Apple’s own apps conform to its own rules? And as for copyright info, forget it, as so many Apple apps seem to.
Source code workthrough of one method of checking for and automatically downloading updates to an app, in Swift 5 for macOS 10.11-10.14.
Adding support for Mojave’s new privacy system is mandatory for apps which need to access protected data. How easy is that?
When you want software to run automatically each time you Mac starts up, there are several ways of doing that. Here’s your choice.
A hard to spot runtime error results if you try to embed the key < in a dictionary. But when converting plain text for embedding in XML, that's one character you need to substitute.
You want to read in a property list to structured data in Swift. The solution – in Swift 4 – is in a Coder, as explained here.
Dictionaries are valuable, perhaps vital for working with property lists, but seldom as flat as examples suggest. Here are some nested examples in real code.
Got a setting that you just can’t get to stick properly? Here’s a listing of preference files for Sierra, and pointers to all sorts of other settings too.