Default values for application with bindings

I finally got round to replacing all glue code in my app with bindings, which is great.

The problem I now have is that on the first run, when the preferences file hasn’t been created yet, all the GUI elements default to an “empty” state eg. any popup menu will show empty, radio buttons will have nothing selected… The defaults I set in IB don’t seem to apply anymore once using bindings.

The only solution that I can think of is to use an installer that writes an initial preferences file. But is there another way?

Never mind. I figured it out. I was still struggling to get my head around bindings. I didn’t realise you still need to put the

make new default entry at end of default entries with properties {name:"property", content:"value}

commands in your script.

In the end, what I did was to open the preferences file with Property List Editor and copy all the properties and their respective values. A bit tedious bit pretty simply.