Come posso modificare un file .plist?


40

Qual è la migliore applicazione per aprire e modificare un file plist?


non ero io, ma qualcuno ha votato per chiudere ... Penso che se cambiassi la tua domanda per essere più specifici su ciò che stai cercando di fare, non otterresti alcun voto "soggettivo".
Robert S Ciaccio,

7
Votare per chiudere senza commentare? Ben fatto, squadra!
Philip Regan,

Questa è una buona domanda Più volte, ho voluto aprire un file .plist, ma anche con il download di un'app sembrava (molto) difficile, quindi ho rinunciato.
Nicolas Barbulesco,

Risposte:


27

Un file PList, come ha detto Mankoff, è solo un file XML appositamente formattato, quindi puoi effettivamente modificarli e crearli in un programma come TextEdit.

A causa della natura specifica di PLists to Development, tuttavia, l'utilizzo di un programma speciale come Xcodeo Property List Editordiventa un'attività molto più fruttuosa. Questo perché non solo formatta automaticamente il codice XML per te, ma in realtà tradurrà gli identificatori chiave e i livelli in parole leggibili, e anche per alcuni valori fornirà un menu a discesa per compilare le risposte corrette. Soprattutto quando si ha a che fare con i pianificatori di iPhone, quando è possibile impostare più variabili di runtime tramite il Plist, creare facilmente nuovi campi e sapere cosa inserire in essi rende molto più semplice.

Puoi ottenere Xcode e PList Editor bot dal sito Web degli sviluppatori Apple http://developer.apple.com gratuitamente scaricando l'ultima versione di Xcode.


6
IIRC, tuttavia, alcuni compressi sono compressi, il che li rende non aperti in un editor di testo senza prima decodificarli. Gli strumenti Apple lo fanno automaticamente, e viceversa.
Lloeki,

Bene perfetto, altri motivi per usare Xcode 4!
SeniorShizzle

5
Se solo… ! Ma no, alcuni file .plist sono binari o qualcosa del genere e TextEdit non è abbastanza per loro.
Nicolas Barbulesco,

Ricordare che, a seconda del caso d'uso specifico, potrebbe esserci uno strumento più adatto al lavoro, destinato alla modifica di un tipo specifico di file plist. Ad esempio, puoi utilizzare Apple Configurator per la modifica dei profili iOS (estensione .mobileconfig) o Clover Configurator per la modifica dei profili di avvio Clover.
Manchineel,

57

Se il file plist è in formato XML, è possibile modificarlo in qualsiasi editor di testo come TextEdit. Se il file plist è in formato binario, puoi prima convertirlo in XML eseguendo:

plutil -convert xml1 file.plist

Se vuoi tornare al formato binario dopo la modifica:

plutil -convert binary1 file.plist

Se hai Xcode 4.3 o successivo, puoi usarlo per modificare gli elenchi di proprietà in un editor grafico come questo:

Xcode 4.2 e precedenti venivano forniti con un'applicazione separata per la modifica degli elenchi di proprietà ( /Developer/Applications/Utilities/Property List Editor.app/).


Come sottolineato da questa soluzione, è assolutamente possibile utilizzare plutil -convert json $file(o xml), quindi modificare il file con qualsiasi editor (come vi) e infine riconvertirlo con plutil -convert binary1 $file.
7heo.tk,

plutil -p <file>"stamperà l'elenco delle proprietà in modo leggibile dall'uomo" invece di convertirlo
dentarg

1
Questa è la risposta più completa e dovrebbe essere quella accettata. Ad esempio, non è possibile modificare direttamente ~ / Libreria / Preferenze / .GlobalPreferences.plist senza conversione.
Maurice Schleußinger,

6

Un buon programma come TextWrangler può modificare i .plistfile binari senza prima convertirli usando Terminal. Apri semplicemente il file come faresti con qualsiasi altro (ad esempio, trascina e rilascia sull'icona del programma o la finestra di dialogo Apri file o Apri con nel Finder o ...)


1
Ma i valori sono illeggibili.
Nicolas Barbulesco,

4

Da quando Apple si è sbarazzata dell'editor dell'elenco delle proprietà della GUI, Xcode è la migliore opzione gratuita se vuoi essere sicuro del risultato.

Ci sono alcuni gotcha che usano un editor di codice generico per modificare i file di plist. Poiché i dizionari utilizzano voci come

<key>some key</key>
<string>some value</string>
<key>another key with boolean value</key>
<true />

È possibile creare un file XML valido che non sia un file plist valido, ad esempio:

<key>some key</key>
<!-- oops, forgot to enter a value - still valid XML -->

<!-- valid XML, not a plist -->
<key>another key with boolean value</key>
<true>yes</true>

Se sei disposto a diventare commerciale, Plistinator modificherà sia i file binari che quelli XML.

Divulgazione completa: sono l'autore di Plistinator e $ 12,99 costa pagare per il mio ramen e l'affitto.


fa meglio di XCode?
georgexsh,

Xcode è migliore di Plistinator su Mac: l'interfaccia utente è migliore e canonicamente Apple. Può essere una seccatura perché devi installare l'intero Xcode solo per ottenere lo strumento dell'editor. Plistinator esegue la ricerca / scansione della directory e ha anche un ampio campo di modifica per l'immissione di valori in formato libero. Queste funzionalità rendono Plistinator eccellente per lavori come app e giochi basati sui dati. Ma per la maggior parte dei lavori l'editor di Xcode è migliore.
sez,

1

In una finestra Terminale, è possibile utilizzare PlistBuddy, disponibile all'indirizzo /usr/libexec/PlistBuddy.

PlistBuddy può leggere e modificare i valori all'interno di un plist, in modo interattivo o direttamente dalla riga di comando.

Tuttavia, PlistBuddynon è un editor GUI.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.