persistencia datos data objective-c macos cocoa plist nsuserdefaults

objective-c - datos - user defaults swift 4



¿Dónde se almacenan los datos NSUserDefaults de una aplicación Mac? (5)

(Xcode 7.3.1, macOS 10.11.6)

Para Adicional, si está utilizando Grupos de aplicaciones

if let prefs = NSUserDefaults(suiteName: "group.groupApps") { ... }

El archivo plist estará aquí:

~ / Library / Group Containers / group. groupApps / Library / Preferences / group.groupApps.plist

Estoy usando NSUserDefaults para almacenar algunos datos en mi aplicación.

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; [prefs setObject:@"dummy string" forKey:@"lastValue"]; [prefs synchronize];

Para fines de prueba, necesito ver el archivo plist de Preferencias del Sistema donde mis datos de NSUserDefaults se guardan en la Mac.

Sé dónde están almacenados los valores predeterminados del usuario de la aplicación iOS, pero no sé sobre la aplicación mac. ¿Dónde se almacenan los datos NSUserDefaults de una aplicación Mac?


En ~/Library/Preferences/com.example.myapp.plist .


En Sierra, encontré la información aquí: ~/Library/Application Support/ .


Se pueden encontrar en más de un lugar:

~/Library/Preferences/com.example.myapp.plist ~/Library/SyncedPreferences/com.example.myapp.plist

y si sandboxed

~/Library/Containers/com.example.myapp/Data/Library/Preferences/com.example.myapp.plist ~/Library/Containers/com.example.myapp/Data/Library/SyncedPreferences/com.example.myapp.plist


Una ubicación más posible para estos datos entra en juego cuando se intentan cosas en un patio de recreo. Estaba experimentando con UserDefaults en un patio de juegos, usando XCode 8.3 y Swift 3, y quería ver el archivo plist resultante. Después de un trabajo de detective (los archivos UserDefaults tienen el identificador del paquete en el nombre del archivo y llamar a Bundle.main.bundleIdentifier en un patio de recreo da el identificador de XCode), me sorprendió mucho que los datos UserDefaults se hayan agregado a:

~/Library/Preferences/com.apple.dt.Xcode

En otras palabras, las claves y los valores se agregan al archivo de preferencias de XCode. Comprobé dos veces buscando cadenas muy poco probables para las teclas y, de hecho, las añadí allí. No tuve el coraje de intentar usar algunas teclas que ya estaban siendo utilizadas por XCode pero la precaución parece buena aquí.