xcode - how - ¿Eliminar la tienda CoreData en OS X?
swift 4 coredata (6)
Estoy jugando con CoreData en una aplicación de Mac OS X. Después de cambiar una entidad obtuve el siguiente error:
La versión del modelo de objeto administrado utilizada para abrir el almacén persistente es incompatible con la que se usó para crear el almacén persistente.
Todas las respuestas que he encontrado para este problema sugieren la implementación de la versión / migración en la aplicación, pero no estoy interesado en guardar mis datos. ¿No hay una solución menos complicada para eso? ¿Como borrar el archivo de archivo o algo así? Y si es así, ¿dónde está ubicado este archivo?
Gracias.
Alternativamente, para OSX, use Nsfilemanager para eliminar el archivo usando la url definida en lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator{...}
En esta var persistentStoreCoordinator se definirá una url diseñada para ser utilizada por el persistentStoreCoordinator. Puede usar la URL definida allí para eliminar la tienda anterior. Inserte el siguiente código. Ejecuta el proyecto y el archivo será eliminado. Luego elimine el código para permitir que los objetos se almacenen de nuevo y no elimine los datos cada vez.
esto es lo que encontré en el lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator
let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("CocoaAppCD.storedata")
Aquí está lo que pongo inmediatamente debajo de él.
do{
try NSFileManager.defaultManager().removeItemAtURL(url)
} catch{
print("could not delete file")
}
entonces hice clic en ejecutar. Se ejecutó una vez y luego borro el código que acabo de hacer para que los datos no se borren cada vez.
Descubrí que para Mac OS X 10.8 / Xcode 4.6 los datos se almacenan en la carpeta de datos derivados de
Users/*username*/Library/Developer/Xcode/DerivedData/*app name*-*random string*/Build/Products/Debug/*app name*.sqlite
La forma más fácil de eliminar estos datos es ir al organizador, seleccionar la pestaña del proyecto y hacer clic en el botón "Eliminar ..." por los datos derivados.
En Mac OS X 10.11.4 con Xcode 7.3, me solucioné el problema y solucioné el problema:
Product
> Clean
o Shift ⌘ K
En OS X 10.7 Lion cuando la aplicación se encuentra en un espacio aislado, se almacena en:
~/Library/Containers/com.yourcompany.yourAppName/
Intente ejecutar la aplicación en un simulador de otro dispositivo que no haya usado antes y vea si le ayuda (es decir, el iPhone SE en lugar del iPhone 7). Si lo hace, entonces la eliminación de las carpetas dañadas debería ayudar. Abre el Terminal y ejecuta los siguientes comandos:
sudo rm -rf ~/Library/Developer/CoreSimulator/Devices
para eliminar los datos de los simuladores que puedan estar dañados,
sudo rm -rf ~/Library/Developer/XCode/DerivedData/
para eliminar los datos de su aplicación.
¡Espero que ayude!
Si no desea los datos, entonces sí, simplemente puede eliminar el archivo anterior y crear uno nuevo. Si sus datos están basados en documentos, entonces el documento en sí debería eliminarse. Si usa una sola tienda para toda la aplicación (no basada en documentos), debe buscar en el código que crea el objeto de la tienda para encontrar la ubicación. La plantilla coloca el código de creación en el delegado de la aplicación y la ubicación predeterminada de la tienda se encuentra en ${HOME}/Library/Application Support/${APP_NAME}/
.