Domanda

È questo il caso? NSUserDefaults viene ripristinato quando si invia un aggiornamento a un'app sull'App Store o vengono ripristinati?

La mia app si arresta in modo anomalo quando viene aggiornata ma non si arresta in modo anomalo quando viene scaricata completamente, quindi sto cercando di determinare cosa potrebbe essere diverso nella sessione aggiornata rispetto alla sessione appena scaricata.

Saluti, Nick.

È stato utile?

Soluzione

Di solito non vengono ripristinati a meno che l'utente non elimini l'app. Per i dati di base, NSUserDefaults è il modo migliore per salvare dati come preferenze, date, stringhe ecc. Se stai cercando di salvare immagini e file, il file system è una scommessa migliore.

Altri suggerimenti

Credo che la risposta sia SÌ, persisterà. Ciò è anche ampiamente documentato nel capitolo Directory applicazioni nella Guida alla programmazione del sistema operativo Apple iPhone.

  1. Risposta diretta alla domanda postata: SÌ.
  2. Il tuo problema: L'app si blocca a causa di problemi logici. Supponiamo di archiviare un oggetto nelle impostazioni predefinite e che l'app ne controlli il valore all'avvio (o altrove). Nel tuo aggiornamento potresti cambiare il modo in cui viene controllato o utilizzato, ad es. ti aspetti un valore, ma l'oggetto è zero o viceversa. Ciò può causare un SIGABRT o EXC_BAD_ACCESS.

Se avevi il modello Core Data e hai cambiato qualcosa nel tuo modello e aggiornamento, senza gestire la migrazione, è probabilmente il motivo per cui l'app si blocca durante l'aggiornamento ...

Ho un'esperienza simile. La nostra app memorizza un numero di versione in Settings.Bundle / Root.Plist. Questo viene visualizzato tramite l'app Impostazioni iPhone. Quello che troviamo è che su un'installazione il numero di versione viene caricato dal bundle dell'app, quindi il numero di versione è corretto. In un aggiornamento, tuttavia, il numero di versione non cambia. Questo dà l'impressione che l'utente stia eseguendo una versione precedente dell'app. Non abbiamo alcuna logica collegata al numero di versione, è solo per la visualizzazione (potrebbe essere utilizzata dallo staff del contact center durante la diagnosi dei guasti).

La nostra esperienza è che NSUserDefaults non viene cancellato quando un utente aggiorna la nostra app, ma neanche il display Impostazioni viene aggiornato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top