title: Where to initialize iPhone application defaults
body: <p>I just started using the preferences pane to let users customize some settings in my iOS app, and it was pretty easy to create the Settings.bundle and access the information from it.  My problem is that I read in the Apple docs that the settings should be programatically initialized:</p>
  
  <blockquote>
    <p>It is recommended that you register any default preference values programmatically at launch time in addition to including them in your settings bundle property lists. For newly installed applications, default preference values from the application’s settings bundle are not set until the Settings application runs. This means that if the user runs your application before running Settings, the default values specified in your settings bundle will not be available. <strong>Setting such values programmatically at launch time ensures that your application always has appropriate values. To register default values programmatically, use the registerDefaults: method of the NSUserDefaults class.</strong></p>
  </blockquote>
  
  <p>Where in the app is this initialization done, and how can I be sure that I'm not overwriting a user-supplied value?  Is this handled in some method of the App Delegate?</p>