Come garantire che un programma desktop funziona correttamente dopo l'installazione clean-slate?
-
19-09-2019 - |
Domanda
La motivazione - ho avuto una nuova versione della mia applicazione Cocoa pronto che ha funzionato bene su macchine tutti i beta tester. Così ho rilasciato. Risulta che una caratteristica fondamentale semplicemente non funziona sul computer di chiunque altro . Yikes! Sì, leggere che ancora una volta: Ho rilasciato un software che non ha funzionato
. Causa - Gli utenti che hanno usato le versioni precedenti la mia app (leggi: tutti i miei fedeli beta tester) avevano già una ~/Application Support/MyApp/
cartella da una versione precedente. A causa del bug critico nella nuova versione, questa cartella è stato necessario per il funzionamento del software. E per tutti gli altri, perché la cartella non esiste, non ha funzionato.
Come si può immaginare, questo è estremamente imbarazzante, e voglio che questo mai e poi mai, accada di nuovo.
Rimedi? - Il modo più straight-forward per garantire questo, naturalmente, è quello di scaricare in realtà e installarlo su una macchina "pulita" solo prima di pubblicare una nuova release. Ma questo sembra impraticabile, perché nel tempo sarò a corto di amici con un Mac che non hanno ancora provato la mia app (alla fine tutti avranno ;-)), e perché io non vedo l'ora di "format c:" il mio Mac prima ogni singola release ...
Questo è dove ho bisogno del vostro aiuto:
Come posso garantire che un utente che non ha mai usato il mio software prima otterrà gli stessi risultati come qualcuno che ha?
Soluzione
Le macchine virtuali (VMWare Workstation, ecc) può essere utile per testare installazioni pulite di applicazioni. È possibile avviare un nuovo sistema operativo virtuale, installare la roba, testarlo, quindi eliminare la VM quando hai finito. Ci sono modi per automatizzare la filatura-up di una macchina virtuale, così, che possono rendere la vita ancora più facile.
Un'altra cosa da fare è quello di determinare tutti i prerequisiti vostra applicazione richiede, e aggiungere i controlli per queste cose in fase di avvio. Se qualcosa non è giusto setup, è possibile tentare di configurarlo all'interno del codice, o informare l'utente di farlo.
Altri suggerimenti
Un approccio più leggero potrebbe utilizzare strumenti come AppZapper per sbarazzarsi di tutto - file temporanei, le preferenze , cache, cronologia, ecc. - legati al app per testare