Est-ce que quelqu'un sait comment modifier un fichier Plist à partir de la ligne de commande en utilisant par défaut? Il existe actuellement deux dictionnaires sous le URL types
array; Je dois en ajouter un autre.
Chaque commande que j'ai essayée a soit remplacé le dictionnaire entier, soit créé un nouveau tableau appelé URL types
au lieu de le modifier. Des idées sur la façon dont cela peut être fait par défaut (l'application Mac de la console) et pas PlistBuddy?
Ouvrez Info.plist dans un éditeur de texte pour voir les identifiants réels.
defaults write Absolute/Path/to/Info.plist CFBundleURLTypes -array-add '<dict>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>CFBundleURLName</key>
<string>Mac App Store URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>macappstore</string>
</array>
</dict>'
pbpaste | pl
Convertit le XML au format ancien.
defaults write Info.plist CFBundleURLTypes -array-add '{CFBundleTypeRole=Viewer; FBundleURLName="Mac App Store URL";CFBundleURLSchemes=(macappstore);}'
Les listes de propriétés XML peuvent être affichées directement dans un éditeur de texte, comme le suggère la réponse de Lauri ci-dessus.
Les listes de propriétés binaires (présentes dans de nombreuses applications d'expédition d'Apple) doivent d'abord être converties au format de liste de propriétés XML.
plutil peut être utilisé pour ce faire, dans les deux sens. Faites attention cependant car la liste des propriétés est modifiée en place, vous souhaitez donc faire une copie de la liste des propriétés en premier.
plutil -convert xml1 binary-property-list-to-convert.plist
Et pour le reconvertir en binaire:
plutil -convert binary1 XML-property-list-to-convert.plist
OSX a PlistBuddy, ce qui rend cela beaucoup plus simple.
Voir aussi: https://github.com/kevinSuttle/OSXDefaults/blob/master/REFERENCE.md
Utilisez le -array-add
type de valeur:
defaults write /path/to/plist/file "URL Types" -array-add '{"URL Identifier" = "com.myapp.2"; "URL Schemes" = { "two"; }; }'