78 votes

Comment modifier un fichier .plist ?

Quelle est la meilleure application pour ouvrir et modifier un fichier plist ?

0 votes

Ce n'était pas moi, mais quelqu'un a voté pour fermer... Je pense que si vous changez votre question pour être plus spécifique sur ce que vous essayez de faire, il n'y aura pas de votes "subjectifs".

12 votes

Clôture du vote sans des commentaires ? Bien joué, l'équipe !

3 votes

C'est une bonne question. Plusieurs fois, j'ai voulu ouvrir un fichier .plist, mais même en téléchargeant une application, cela semblait (très) difficile, alors j'ai abandonné.

107voto

Si le fichier plist est au format XML, vous pouvez le modifier dans n'importe quel éditeur de texte comme TextEdit. Si le fichier plist est au format binaire, vous pouvez d'abord le convertir en XML en exécutant :

plutil -convert xml1 file.plist

Si vous voulez revenir au format binaire après l'édition :

plutil -convert binary1 file.plist

Si vous avez Xcode 4.3 ou une version plus récente, vous pouvez l'utiliser pour modifier les listes de propriétés dans un éditeur graphique comme celui-ci :

Xcode 4.2 et les versions antérieures étaient livrés avec une application séparée pour l'édition des listes de propriétés ( /Developer/Applications/Utilities/Property List Editor.app/ ).

2 votes

Comme le souligne cette solution, il est tout à fait possible d'utiliser plutil -convert json $file (o xml ), puis éditez le fichier avec n'importe quel éditeur (tel que vi ), et enfin le reconvertir avec plutil -convert binary1 $file .

8 votes

plutil -p <file> imprimera la liste des propriétés d'une manière lisible par l'homme" au lieu de la convertir en une liste de propriétés.

3 votes

Cette réponse est la plus complète et devrait être acceptée. Par exemple, vous ne pouvez pas modifier directement ~/Bibliothèque/Préférences/.GlobalPreferences.plist sans conversion.

34voto

SeniorShizzle Points 1401

Un fichier PList, comme l'a dit Mankoff, n'est qu'un fichier XML spécialement formaté. Vous pouvez donc les modifier et les créer dans un programme comme TextEdit.

Cependant, en raison de la nature spécifique des PLists au développement, l'utilisation d'un programme spécial comme Xcode ou Property List Editor devient un effort beaucoup plus fructueux. En effet, non seulement il met automatiquement en forme le code XML pour vous, mais il traduit également les identifiants et les couches clés en mots lisibles et, pour certaines valeurs, il propose un menu déroulant permettant de remplir les réponses correctes. En particulier lorsqu'il s'agit de plists iPhone, où de multiples variables d'exécution peuvent être définies à l'aide de la plist, créer facilement de nouveaux champs et savoir quoi y mettre rend les choses beaucoup plus faciles.

Vous pouvez vous procurer le logiciel Xcode et l'éditeur PList sur le site web Apple Developer. http://developer.apple.com gratuitement en téléchargeant la dernière version de Xcode.

12 votes

IIRC certains plist sont compressés, ce qui les rend inopérables dans un éditeur de texte sans les décoder d'abord. Les outils Apple le font automatiquement, et inversement.

0 votes

Bien parfait, plus de raisons d'utiliser Xcode 4 !

12 votes

Si seulement ! Mais non, certains fichiers .plist sont binaires ou quelque chose comme ça, et TextEdit n'est pas suffisant pour eux.

8voto

Daniel Points 32917

Un bon programme comme TextWrangler peut modifier le binaire .plist sans les convertir au préalable à l'aide de Terminal. Il suffit d'ouvrir le fichier comme vous le feriez pour n'importe quel autre fichier (par glisser-déposer sur l'icône du programme, ou dans la boîte de dialogue Ouvrir un fichier, ou Ouvrir avec dans le Finder ou...).

1 votes

Mais les valeurs sont illisibles.

0 votes

Merci de partager cette astuce, Daniel. J'ai le grand frère de TextWrangler, BBEdit, et je ne savais pas que j'avais un éditeur plist sympa depuis le début :)

1 votes

@ScottJohnson BBEdit est à la fois le grand frère et le successeur de TextWrangler (mais il a maintenant une option pour utiliser l'ancienne icône de TextWrangler ! Yay !)

7voto

sez Points 149

Depuis qu'Apple s'est débarrassé de l'éditeur de liste de propriétés de l'interface graphique, Xcode est la meilleure option gratuite si vous voulez être sûr du résultat.

L'utilisation d'un éditeur de code générique pour modifier les fichiers plist présente quelques inconvénients. Puisque les dictionnaires utilisent des entrées comme

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

Vous pouvez créer un fichier XML valide qui n'est pas un fichier plist valide, par exemple :

<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>

Si vous êtes prêt à faire du commerce, Plistinator éditera à la fois les fichiers plist binaires et XML.

Divulgation complète : je suis l'auteur de Plistinator et les 12,99 $ qu'il coûte me permettent de payer mes ramens et mon loyer.

0 votes

Le fait-il mieux que XCode ?

0 votes

Xcode est meilleur que Plistinator sur Mac - l'interface utilisateur est meilleure, et c'est canoniquement Apple. Il peut être pénible de devoir installer l'ensemble de Xcode juste pour obtenir l'outil d'édition. Plistinator effectue la recherche/le balayage des répertoires et dispose également d'un grand champ d'édition pour saisir du texte libre dans les valeurs. Ces fonctionnalités font de Plistinator un excellent outil pour les applications et les jeux basés sur des données. Mais pour la plupart des travaux, l'éditeur de Xcode est meilleur.

7voto

Igor Zelaya Points 2266

Dans une fenêtre de terminal, vous pouvez utiliser PlistBuddy disponible à l'adresse suivante /usr/libexec/PlistBuddy .

PlistBuddy peut lire et modifier les valeurs à l'intérieur d'une plist, de manière interactive ou directement en ligne de commande.

Cependant, PlistBuddy n'est pas un éditeur graphique.

Exemples d'utilisation :

# Show full help
/usr/libexec/PlistBuddy -h

# Print content of plist
/usr/libexec/PlistBuddy -c print /Library/Preferences/com.apple.TimeMachine.plist

# Print selected content of plist
/usr/libexec/PlistBuddy -c 'print SkipPaths' /Library/Preferences/com.apple.TimeMachine.plist

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X