Un approccio che abbiamo trovato per l'eliminazione dei valori predefiniti dell'utente è quello di eliminare tutti i file nello ./data/Library/Preferences/*
oltre all'eliminazione delle directory di applicazioni e dati.
Tuttavia, in Xcode 6, il comando xcrun
ha un nuovo sottocomando chiamato simctl
che mi consente di gestire iOS Simulator incluso il ripristino del simulatore e l'installazione dell'applicazione.
La soluzione che mi è venuta è quella di utilizzare il comando
xcrun simctl erase [device ID]
L'ID del dispositivo sono disponibili presso l'esecuzione
xcrun simctl list
Questo resetta il simulatore (equivalente a iOS Simulator > Reset Contents and Settings...
voce di menu) .
Con Xcode 6.0.1 (Build 6A317), è presente un bug o una modifica nel comportamento in cui quando si disinstalla un'applicazione, le impostazioni predefinite dell'utente non vengono rimosse.
Usage: simctl [--noxpc] [--set <set path>] <subcommand> ... | help [subcommand]
Command line utility to control the iOS Simulator
For subcommands that require a <device> argument, you may specify a device UDID
or the special "booted" string which will cause simctl to pick a booted device.
If multiple devices are booted when the "booted" device is selected, simctl
will choose one of them.
Subcommands:
create Create a new device.
delete Delete a device.
erase Erase a device's contents and settings.
boot Boot a device.
shutdown Shutdown a device.
rename Rename a device.
getenv Print an environment variable from a running device.
openurl Open a URL in a device.
addphoto Add a photo to the photo library of a device.
install Install an app on a device.
uninstall Uninstall an app from a device.
launch Launch an application by identifier on a device.
spawn Spawn a process on a device.
list List available devices, device types, or runtimes.
notify_post Post a darwin notification on a device.
icloud_sync Trigger iCloud sync on a device.
help Prints the usage for a given subcommand.
Se tutto ciò che si vuole fare è eliminare la singola app, è necessario utilizzare la disinstallazione anziché cancellare. –
In Xcode 6.0.1, anche se si utilizza il comando uninstall, i valori predefiniti dell'utente rimangono intatti (è un bug). Ecco perché suggerisco di usare cancella. – Frank
Ah, sì. Buon punto, tuttavia non è un problema con Xcode 6.0.1 ma con iOS 8.0. Se si utilizza "cancella" su un dispositivo simulato 7.x, funzionerà correttamente. –