Não NSUserDefaults persistem através de uma atualização para uma aplicação na AppStore?

StackOverflow https://stackoverflow.com/questions/1638766

  •  08-07-2019
  •  | 
  •  

Pergunta

Este é o caso? Fazer NSUserDefaults obter redefinir quando você enviar uma atualização para um aplicativo na App Store, ou eles são repostos?

Meu aplicativo é falhando quando atualizado, mas não falhando quando baixado totalmente -. Por isso estou tentando determinar o que poderia ser diferente na sessão atualizado para a sessão recém-baixado

Cheers, Nick.

Foi útil?

Solução

Eles são geralmente não repõe a menos que o usuário exclui o aplicativo. Para os dados básicos, NSUserDefaults é a melhor maneira de salvar os dados como preferências, datas, cordas etc. Se você estiver olhando para salvar imagens e arquivos, o sistema de arquivos é uma aposta melhor.

Outras dicas

Creio que a resposta é sim, ele irá persistir. Isso também totalmente documentado no capítulo Diretório de aplicativos no iPhone OS da Apple Guia de Programação.

  1. resposta direta à pergunta postada: Sim.
  2. O seu problema: Seu aplicativo fica caiu devido a problemas de lógica. Suponha que você armazenar um objeto em padrões e os controlos de aplicativos que de valor no lançamento (ou noutro local). Em você atualizar você poderia mudar a maneira como ele é verificado ou usado, por exemplo, você espera um valor, mas o objeto é nulo, ou vice-versa. Isso pode causar um SIGABRT ou EXC_BAD_ACCESS.

Se você tivesse modelo Core Data e você mudou alguma coisa no seu modelo e atualizar, sem gestão da migração, que é, provavelmente, razão pela qual seu aplicativo trava na atualização ...

Eu tenho uma experiência semelhante. Nosso aplicativo armazena um número de versão no Settings.Bundle / Root.Plist. Este é exibido através do aplicativo Configurações do iPhone. O que descobrimos é que em um Instale o número da versão é carregado a partir do pacote app - portanto, o número da versão está correta. Em uma atualização no entanto o número da versão não muda. Isto dá a impressão de que o usuário está executando uma versão anterior do aplicativo. Não temos qualquer lógica ligada ao número da versão, é apenas para exibição (que poderia ser usado por funcionários de contact center o diagnóstico de falhas).

A nossa experiência é NSUserDefaults não ficar limpo quando um usuário atualiza nosso aplicativo, mas a exibição Configurações não é atualizado também.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top