Gặp sự cố khi mở tệp plist trong trình soạn thảo văn bản


20

Từ Finder, tôi có thể xem trước một tập tin plist mà không gặp bất kỳ khó khăn nào. Ví dụ: sử dụng Xem nhanh với ~/Library/Preferences/com.apple.Safari.RSS.plisttôi có được bản xem trước đẹp về nội dung của nó:

Cái nhìn lướt qua

Tuy nhiên, nếu sau đó tôi cố gắng mở tệp, bằng TextEdit hoặc bất kỳ trình chỉnh sửa nào khác (tôi đã thử SublimeText, TextMate, Vim, Nano và Coda 2 cho đến nay), mã hóa dường như bị tắt:

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

Đây là giao diện nếu tôi mở bằng TextEdit:

Chỉnh sửa văn bản

Tôi đã thử thay đổi mã hóa trong Sublime Text và các ứng dụng khác, nhưng điều đó không có ích.

Có suy nghĩ gì không?

Tôi đang chạy 10.8.4.

Câu trả lời:


23

tập tin plist không nhất thiết phải là văn bản đơn giản vì vậy chúng cần được chạy qua bộ chuyển đổi. Finder và Xcode (có trình soạn thảo plist) thực hiện việc này mà không cho người dùng biết

Định dạng nhị phân được ghi lại bằng mã C này để bất kỳ ứng dụng nào cũng có thể chuyển đổi nó và ai đó đã viết mô tả định dạng bằng tiếng Anh và nhiều tài liệu của Apple ở đây nhưng lưu ý rằng nó tham chiếu các đường dẫn cũ trong/Developer/Documentation

Chương trình dòng lệnh plutil có thể chuyển đổi sang và từ XML

ví dụ: để xem danh sách thuộc tính nhị phân ở định dạng XML trên thiết bị xuất chuẩn:

plutil -convert xml1 -o - <file name>

Ngoài ra, để chuyển đổi một nhị phân thành một chuỗi XML tại chỗ và sau đó để nó để chương trình người dùng có thể đọc được.

plutil -convert xml1 <file name>

Cảm ơn. Tôi hiểu rồi. Vì vậy, nếu tôi cần chỉnh sửa nó, tôi cần chuyển đổi nó thành XML, mở nó bằng một trình soạn thảo và sau đó chuyển đổi lại. Tôi sẽ cho rằng điều này là như vậy. Không cần trả lời trừ khi tôi hiểu sai!
apc

3
Bạn cũng có thể sử dụng plutil -convert xml1 ~/Library/Preferences/com.apple.Safari.RSS.plistđể chuyển đổi nguyên bản thành XML. Và sau khi bạn chỉnh sửa số nguyên, bạn không phải chuyển đổi nó thành nhị phân.
Lri

1
> Finder và Xcode (có trình soạn thảo plist) thực hiện việc này mà không cho người dùng biết chính xác, không phải Finder đang làm điều này, đó là QuickLook dưới dạng plugin QuickLook.
saagarjha 17/03/18

Bạn cũng có thể sử dụng defaults read <file>lệnh mới hơn để có được một kiểu xem JSON của nó.
dlamblin

5

Bạn cũng có thể chỉnh sửa các tệp plist với PlistBuddy , đây là một chương trình dòng lệnh.

PlistBuddy được đặt tại /usr/libexec/PlistBuddy.


1
Apple đã xóa trang đó và tôi không thể tìm thấy bất kỳ kho lưu trữ nào. Hướng dẫn vẫn có sẵn trên macOS Mojave.
Franklin Yu

@FranklinYu, thực sự. Ngoài ra còn có hướng dẫn tại marcosantadev.com/manage-plist-files-plistbuddy .
lhf


0

Tôi đã tạo một tệp CMD (Batch) để hỗ trợ mọi người Chuyển đổi các tệp plist trên Windows:
Hướng dẫn:
1. Sao chép tất cả mã
2. Tạo một Tài liệu văn bản mới
3. Tạo mã
4. Lưu tệp
5. Đặt tên tệp bằng ".bat" thay vì ".txt"
6.Mở nó

    @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

Hoặc bạn có thể Sử dụng phiên bản không đóng sau khi chuyển đổi để cho phép nhiều chuyển đổi mà không cần mở lại tệp:

    @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

1
Xin chào, và chào mừng bạn đến hỏi khác nhau! Câu trả lời này có thể hữu ích hơn ở nơi khác - OP không hỏi về việc sử dụng Windows.
Scot

-1

Bạn có thể chuyển đổi tệp danh sách thuộc tính từ định dạng nhị phân sang XML bằng dòng lệnh sau:

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

Sau đó chỉnh sửa nó như bình thường. Thứ hai, bạn không phải chuyển đổi lại, vì thông thường các ứng dụng nhận ra cả hai định dạng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.