Sto lavorando a un'applicazione Mac OS X sviluppata per Mountain Lion. L'app esegue alcune attività di configurazione la prima volta che viene eseguita. Quindi imposta una bandiera in [NSUserDefaults standardUserDefaults]
; nelle esecuzioni successive l'app controlla se questo flag è impostato e non esegue queste attività di configurazione della prima volta se è impostato.Dove NSUserDefaults memorizza i dati su Mac OS X?
Su Mountain Lion, sono stato in grado di eliminare il file ~/Library/Preferences/bundleid.plist per eliminare tutto dall'archivio memorizzato in NSUserDefaults. Tuttavia, nelle versioni più recenti di Mac OS X, quando l'app viene eseguita non crea nemmeno quel file. Ho verificato che sta salvando i dati correttamente su NSUserDefaults controllando i valori provenienti da [[NSUserDefaults standardUserDefaults] objectForKey:@"foo"]
nel debugger.
Qualcuno può indicarmi la giusta direzione su come eliminare le impostazioni della mia app che sono memorizzate in NSUserDefaults?
Mavericks è ancora sotto NDA, quindi dubito che qualcuno possa rispondere direttamente alla tua domanda. Detto questo, hai provato a usare fs_usage (uno strumento disponibile in tutte le versioni di OS X) per vedere dove l'app sta cercando di salvare il plist? – iccir
Whoops, my bad - Ho rimosso i riferimenti a Mavericks. – Greg
Immagino che questo sia sicuro, tuttavia: https://devforums.apple.com/it/message/894120 –