Když je třeba upravit property list ručně, nabízí se poměrně dost nástrojů od obyčejného texťáku až po specializovaný editor. V dnešní postu ukážu několik užitečných aplikací pro GUI i příkazovou řádku.
Xcode Property List Editor
Xcode od verze 4 obsahuje vestavěný property list editor (dříve separátní aplikace). Pomocí něj není problém otevřít existující .plist nebo vytvořit nový. Umí přidávat a odebírat záznamy, upravovat hodnoty a měnit datové typy. Žádné další speciální funkce o něj ale nečekejte.
PlistEdit Pro
Komerční utiltka s lehce nekřesťanskou cenou (30 USD) zvládá oproti Xcode editoru spoustu věcí navíc. Ukazuje živé preview samotného souboru, umí převádět mezi různými typy plistu, má lepší vyhledávání a třídění. V preferences najdete pár věcí na nastavení. Ke stažení jako shareware z webu vývojáře.
TextEdit, vim, nano, atd.
V plaintextové podobě lze .plist editovat pomocí libovolného textového editoru. Pokud je ovšem .plist binárně zakódovaný, je třeba ho nejprve převést do plaintextu pomocí nástroje plutil
. Více v minulém postu nebo na příslušné man stránce.
TextWrangler, BBEdit
Chytřejší textové editory pro OS X počítají s možností výskytu binárně zakódovaného .plistu a veškeré převádění při otevírání a ukládání udělají automaticky za uživatele.
PlistBuddy
Z pěkně vypadajích aplikací se přesuneme do prostředí příkazové řádky. PlistBuddy utilitka sídlí v adresáři /usr/libexex/
. Ten není defaultně obsažen v proměnné PATH, proto je třeba spouštět program zadáním celé cesty /usr/libexec/PlistBuddy
nebo umístění do proměnné PATH přidat.
Při spuštění PlistBuddyho je třeba dodat cestu k .plist souboru. Defaultně se pak zapne interativní režim, ve kterém zadáváte příkazy měnící obsah .plistu.
/usr/libexec/PlistBuddy ~/Desktop/new.plist File Does not Exist, Will Create: /Users/michal/Desktop/new.plist Command: add hodnota integer 4 Command: print Dict { hodnota = 4 } Command: set hodnota 10 Command: print Dict { hodnota = 10 } Command: delete hodnota Command: Print Dict { } Command: Save Saving... Command: exit
Ve zdrojáku jsou použité všechny základní příkazy pro uprávu. Pár dalších najdete v manuálové stránce -> man PlistBuddy
. Pokud je třeba editovat .plist pomocí PlistBuddy z nějakého skriptu, není interaktivní mód vítán. Pro jeho potlačení slouží přepínač -c
.
/usr/libexec/PlistBuddy nejaky.plist -c "add hodnota string ahoj"
defaults write SuperTajneNastaveni TRUE
Příště…