Atualizando e alterando configurações de arquivos plist com novas versões de um aplicativo

Eu tenho um arquivo plst de configurações padrão na pasta de recursos do meu aplicativo e no primeiro lançamento que é copiado para a pasta de documentos.

Em versões sucessivas do aplicativo, como posso mesclar as configurações plist em seus documentos com quaisquer novas chaves e valores (possivelmente aninhados) que foram adicionados desde a versão anterior?

Eu vi um padrão onde as propriedades são realmente criadas como um NSDictionary no aplicativo (com todas as configurações padrão) e, em seguida, as configurações atuais salvas no arquivo plist são mescladas com esse dicionário e, em seguida, são salvas sobre o plist atual.

Essa é uma boa abordagem? Em caso afirmativo, como você vai fundir NSDictionary que poderia ter vários valores aninhados com sub arrays e sub-dicionários?

Além disso, é aconselhável ter um arquivo plist personalizado separado para as configurações, ou você deve sempre usar NSUserDefaults? O NSUserDefaults manipula o controle de versão e altera os padrões?

Muito Obrigado,

Mike

questionAnswers(1)

yourAnswerToTheQuestion