title: Settings.plist iOS
body: <p>I have a <code>Settings.plist</code> file in my iOS application. I access it using this code below:</p>
  
  <pre><code>    NSError *error;
      NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
      NSString *documentsDirectory = [paths objectAtIndex:0];
      NSString *path = [documentsDirectory stringByAppendingPathComponent:@"Settings.plist"];
  
      NSFileManager *fileManager = [NSFileManager defaultManager];
  
  
      if (![fileManager fileExistsAtPath: path])
      {
          NSString *bundle = [[NSBundle mainBundle] pathForResource:@"Settings" ofType:@"plist"];
  
          [fileManager copyItemAtPath:bundle toPath: path error:&amp;error];
      }
  
      NSMutableDictionary *savedStock = [[NSMutableDictionary alloc] initWithContentsOfFile: path];
  </code></pre>
  
  <p>But, say I make some changes to the Settings.plist file in my application, like add another row. Then if I publish it, users that already have my app will have an out dated <code>Settings.plist</code> file. Any ideas on a workaround or anything? I have tried accessing the <code>Settings.plist</code> file straight from the <code>NSString *bundle</code>, but then the values don't "save".</p>