Skip to content

Jak editovat .plist?

Jak editovat .plist? published on No Comments on Jak editovat .plist?

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


plisteditor

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.

plisteditpro

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