consideri un plist preferenza con un dict che contiene una matrice:Come si aggiungono valori a matrici o dadi nidificati usando il comando "default registra"?
Creiamo esso:
defaults write org.my.test '{aDict = {anArray =();};}'
poi leggerlo di nuovo a vedere la struttura meglio:
$defaults read org.my.test
{
aDict = {
anArray = (
);
};
}
Ora, come si fa Aggiungere un valore a anArray
utilizzando il comando defaults write
?
So che esiste il tipo -array-add
per l'aggiunta di valori a un array, ma come si specifica il percorso chiave per l'elemento dell'array?
Ho provato questo, ma che non funziona:
defaults write org.my.test aDict.anArray -array-add "a value"
In realtà, ho bisogno di aggiungere un tipo non stringa, quindi ho anche bisogno di essere in grado di specificare il tipo, ad esempio, -bool YES
.
(Nota: Non posso usare PlistBuddy né plutil come questo ha bisogno di influenzare le preferenze vivi)
Il problema con questa soluzione è che non funzionerà con i file delle preferenze, perché quelli sono memorizzati nella cache dal 10,8 circa, quindi la modifica dei file sul disco non aggiornerà la cache di conseguenza. E ho bisogno di farlo con le preferenze ("User Defaults"). –