2015-11-05 8 views
15

Stavo provando a testare lo scenario di aggiornamento dalla build dell'app App Store dal vivo a RC usando TestFlight, ma TestFlight mi avvisa "Hai già installato questa app. sostituire ... "(vedi sotto screenshot). Dopo la conferma, tutti i dati dalla versione App Store sono spariti.Avviso TestFlight durante il test dell'aggiornamento: hai già installato questa app

enter image description here

Passi lo faccio:

  1. Installare app dal vivo da App Store
  2. Login e fare alcune operazioni per ottenere i dati in app e portachiavi
  3. Vai PROVA Scelta dei colori App iOS
  4. Toccare il pulsante "Installa" in TestFlight -> avviso "Hai già installato questa app" s
  5. Se mi toccare scelgo Install, nuova build è installato

Risultato:

  • contenuti dell'app tra cui Shared Container (dati condivisi con le estensioni) e portachiavi sono completamente spazzata quando Apro di nuovo l'app

Modifica: l'avviso in TestFlight viene visualizzato con qualsiasi app (ho provato mu piccole app diverse da diversi account di sviluppo). La cancellazione dei dati avviene solo per alcuni.

La mia domanda:

È questo il comportamento previsto da PROVA Scelta dei colori o è alcun problema con la mia app? Non sono a conoscenza di eventuali modifiche tra versioni che potrebbero causare problemi.

Credo che questo non sia successo prima (l'ultima volta che ho provato era qualche settimana fa).

Non sono riuscito a trovare alcuna documentazione o note di rilascio relative al comportamento o alle modifiche dell'app TestFlight.

Qualcuno ha riscontrato lo stesso problema? O conosci qualche risorsa che descrive questo comportamento?

Grazie per eventuali risposte!

+0

sto vivendo lo stesso problema. – beny

+0

E qual è la procedura migliore se si desidera mantenere e accedere a *** i dati dalla versione dell'app store? Ad esempio, vuoi leggere alcune preferenze che hai salvato. – Fattie

+1

@JoeBlow bene che questo particolare problema stava accadendo a causa della modifica di 'identifierForVendor'. Quindi, se vuoi essere ad esempio lo scenario di aggiornamento di prova della versione App Store di TestFlight, assicurati di non utilizzare 'identifierForVendor' per qualsiasi cosa in cui la modifica di IFV potrebbe causare la perdita di dati o gestirla in modo corretto. –

risposta

9

Dopo lunghe ricerche, prove ed errori, creando radar e rilasciando l'aggiornamento a App Store, ho una risposta:

Alert c'è sempre e non ha relazione con la perdita di dati.

  • L'avviso con avviso su possibile perdita di dati viene visualizzato sempre per qualsiasi applicazione installata da TestFlight.
  • Ciò era vero per tutte le app multiple che ho provato.

identifierForVendor modifiche quando si sovrascrive l'app con build TestFlight.

  • Quando si ha la versione App Store dell'app installata e sovrascrive con costruire da PROVA Scelta dei colori, frutto di [[UIDevice currentDevice] identifierForVendor] cambia
  • Questo è inaspettato dal momento che non è menzionato nella documentazione (vedi sotto)
  • Nel mio caso il cambiamento inaspettato di identifierForVendor causava "perdita di dati" che non era la vera perdita di dati, ma sta accadendo solo per le build di TestFlight che non è possibile eseguire il debug, quindi è stato difficile trovare il problema.

Documentazione [[UIDevice currentDevice] identifierForVendor] dice:

il valore in questa struttura rimane la stessa, mentre l'applicazione (o un'altra applicazione dello stesso produttore) è installato sul dispositivo iOS. Il valore cambia quando l'utente elimina tutte le app del fornitore dal dispositivo e successivamente ne reinstalla una o più. Il valore può anche cambiare quando si installano i build di test usando Xcode o quando si installa un'app su un dispositivo utilizzando la distribuzione ad-hoc.

+0

Damnnnnnnnnmmmmnnnnnnn !!!!!!!!!!!!!!!!! ** Ottima scoperta, Lukas **. Ecco la cosa: c'è un modo per installare da TFA e ** in particolare non ** cancellare i dati? Perché, ovviamente, voglio essere in grado di testare se i nuovi sistemi funzionano raccogliendo vecchi dati. Hai mai trovato un modo? Grazie! – Fattie

+0

Ho trovato questo http://blog.xebia.com/run-your-ios-app-withoutoverwriting-the-app-store-version/ che può essere correlato ... – Fattie

+0

@JoeBlow In realtà un mio collega scoperto che 'identifierForVendor' sta cambiando lì, ho appena riassunto tutti i risultati qui. –

1

come per meglio delle mie conoscenze,

se avete installato l'applicazione da App Store (supponiamo di numero di versione 1.0) sul dispositivo e consente di dire la tua sono di nuovo download/installazione stessa applicazione con lo stesso numero di versione 1.0 da TestFlight, riceverai il messaggio sopra.

Questo perché si sta tentando di installare l'app con la stessa versione e l'ID del gruppo che già esiste sul dispositivo.

In caso contrario, si perderanno dati/impostazioni dell'app, poiché la sua sostituzione non verrà aggiornata.

Ho anche affrontato questo scenario.

+0

ciao @avinash ... MA dite di installare la versione 2.0, in realtà dall'app store. Quindi, hai AngryBirds 1.0 e fai clic per aggiornare a AngryBirds 2.0. Certo, ** non perdi le tue preferenze **. È giusto? Quindi, è vero che il comportamento è diverso tra "upgrade su app store" e "upgrade da TFA"? – Fattie

+0

Sì, se si aggiorna la prossima versione dall'app store, non perderà dati/le proprie preferenze. –

+2

Giusto. Quello che voglio sapere è, c'è un modo affidabile per aggiornare su TFA, e non perdere le preferenze. – Fattie

Problemi correlati