Problemy z otwieraniem plików plist w edytorze tekstu

17

Z Findera mogę wyświetlić podgląd pliku plist bez żadnych trudności. Na przykład, używając Quick Look z ~/Library/Preferences/com.apple.Safari.RSS.plist Mam ładny podgląd jego zawartości:

Quick Look

Jeśli jednak spróbuję otworzyć plik za pomocą TextEdit lub innego edytora (próbowałem dotychczas SublimeText, TextMate, Vim, Nano i Coda 2), kodowanie wydaje się być wyłączone:

bplist00Ò_"FixedRefreshesInBackgroundSettings_(com.apple.PreferenceSync.ExcludeSyncKeys ¡ 2]^����������������������������`

Oto jak to wygląda, jeśli otworzę go za pomocą TextEdit:

TextEdit

Próbowałem zmienić kodowanie w Sublime Text i innych aplikacjach, ale to nie pomaga.

jakieś pomysły?

Używam 10.8.4.

apc
źródło

Odpowiedzi:

20

pliki plist niekoniecznie są zwykłym tekstem, więc muszą być uruchamiane przez konwerter. Finder i Xcode (który ma edytor plist) robią to bez informowania użytkownika

Format binarny jest w tym udokumentowany Kod C więc każda aplikacja może go przekonwertować i ktoś napisał opis formatu w języku angielskim i więcej dokumentacji Apple tutaj ale zauważ, że odwołuje się do starych ścieżek /Developer/Documentation

Program wiersza poleceń plutil może konwertować do iz XML

na przykład aby wyświetlić listę właściwości binarnych w formacie XML na standardowym wyjściu:

plutil -convert xml1 -o - <file name>

Również konwertować plik binarny na plist XML, a następnie pozostawić go tak, aby program użytkownika mógł go odczytać.

plutil -convert xml1 <file name>
Mark
źródło
Dzięki. Widzę. Jeśli więc muszę go edytować, muszę go przekonwertować na XML, otworzyć za pomocą edytora, a następnie przekonwertować. Zakładam, że tak jest. Nie musisz odpowiadać, chyba że się pomyliłem!
apc
3
Możesz także użyć plutil -convert xml1 ~/Library/Preferences/com.apple.Safari.RSS.plist przekształcić plist w XML na miejscu. A po edycji plist nie musisz konwertować go z powrotem na binarny.
Lri
1
& gt; Finder i Xcode (który ma edytor plist) robią to bez informowania użytkownika Aby być precyzyjnym, to nie Finder to robi, to QuickLook w formie wtyczki QuickLook.
saagarjha
5

Możesz także edytować pliki plist za pomocą PlistBuddy , który jest programem wiersza polecenia.

PlistBuddy znajduje się w /usr/libexec/PlistBuddy.

lhf
źródło
1
Apple usunęło tę stronę i nie mogę znaleźć żadnego archiwum. Instrukcja wciąż dostępna na macOS Mojave.
Franklin Yu
@FranklinYu, rzeczywiście. Jest też tutorial na marcosantadev.com/manage-plist-files-plistbuddy .
lhf
0

Zrobiłem plik CMD (wsadowy), aby pomóc ludziom w konwertowaniu plików plist na Windows:
Instrukcje:
1. Skopiuj cały kod
2. Utwórz nowy dokument tekstowy
3. Wklej kod
4.Zapisz plik
5. Zmień nazwę pliku na „.bat” zamiast „.txt”
6. Otwórz

    @echo off
    title PLIST Converter ~SyndiShanX
    mode 1000
    color 0b

    ::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Separation-Bar~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :filedirectory
    cls
    echo Either: Type the Directory of the File: (Ex. C:\Users\(UserName)\Desktop\File.plist) or Drag and Drop File onto This Window
    echo Made by: [SyndiShanX]
    echo File Directory:
    set /p directory=
    cls

    ::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Separation-Bar~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :convertfile
    start "" "C:\Program Files\Common Files\Apple\Apple Application Support\plutil.exe" -convert xml1 %directory%
    goto complete

    ::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Separation-Bar~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :complete
    title File Conversion Complete!
    color 0a
    echo File Conversion Complete!
    pause
    cls
    goto exit

    ::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Separation-Bar~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :exit
    color 0c
    title Exiting...
    echo Exiting...
    pause
    cls
    exit

Lub możesz użyć wersji, która nie zamyka się po konwersji, aby umożliwić wiele konwersji bez ponownego otwierania pliku:

    @echo off
    title PLIST Converter ~SyndiShanX
    mode 1000
    color 0b

    ::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Separation-Bar~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :filedirectory
    cls
    echo Either: Type the Directory of the File: (Ex. C:\Users\(UserName)\Desktop\File.plist) or Drag and Drop File onto This Window
    echo Made by: [SyndiShanX]
    echo File Directory:
    set /p directory=
    cls

    ::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Separation-Bar~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :convertfile
    start "" "C:\Program Files\Common Files\Apple\Apple Application Support\plutil.exe" -convert xml1 %directory%
    goto filedirectory
SyndiShanX
źródło
1
Cześć i witamy w Ask Different! Ta odpowiedź może być bardziej przydatna gdzie indziej - PO nie pyta o użycie systemu Windows.
Scot
-1

Możesz przekonwertować plik listy właściwości z formatu binarnego na XML, używając następującej linii poleceń:

plutil -convert xml1 -o file.plist file.plist

Następnie edytuj go jak zwykle. Po drugie, nie musisz go konwertować, ponieważ zazwyczaj aplikacje rozpoznają oba formaty.

kenorb
źródło