In my project I have defined a settings.bundle containing a Root.plist with several settings, that all have default values. However on first start on a new device these defaults are shown in the settings app, but not loaded.
What's going wrong here?
It turns out, that this intended. The DefaultValue specification in Settings.bundle serves only display purposes. Found on ijure.org
There you also find a solution in Objective C to get the default values and write them to the settings dictionary if a value is not present already.
I rewrote it with inspiration from this answer to a similar question:
Hope this helps someone