Nếu bạn đã từng sử dụng máy Mac hoặc các ứng dụng được phát triển cho iPhone cũng như iPad, có thể bạn đã từng gặp các tệp PLIST (có phần mở rộng file .plist) tại một thời điểm nào đó. Vậy PLIST là loại tệp gì? Bạn có thể mở nó như thế nào? Hãy cùng tìm hiểu ngay sau đây.
File PLIST là gì?
File PLIST là một loại tệp văn bản đặc biệt, được thiết kế để chứa dữ liệu ở định dạng Property List. File PLIST thường được các ứng dụng trên những nền tảng hệ điều hành của Apple (macOS, iOS và iPadO) sử dụng để lưu trữ thông tin cài đặt và các loại dữ liệu khác ở định dạng key-value có cấu trúc XML. Ví dụ: mọi ứng dụng iPhone đều bao gồm ít nhất 1 tệp PLIST được gọi là Info.plist, trong đó chứa thông tin cấu hình cơ bản của ứng dụng.
Người dùng bình thường khi download ứng dụng iPhone, iPad hoặc Mac sẽ không bao giờ thấy hoặc phải tương tác trực tiếp với loại tệp này, nhưng các nhà phát triển thì lại khác, họ phải tạo một tệp PLIST chuẩn để ứng dụng có thể hoạt động. Tệp PLIST có thể được tạo và chỉnh sửa bằng các trình soạn thảo văn bản, chẳng hạn như TextEdit. Chúng thường được lưu trữ trong thư mục ~/Library/Preferences/ trên máy Mac, nhưng cũng có thể được đặt ở bất kỳ đâu trên hệ thống tệp.
Định dạng PLIST
Định dạng Property List chứa một loạt các cặp key-value được mã hóa bằng XML. Các key luôn là chuỗi và các giá trị có thể là chuỗi, số, mảng, từ điển hoặc ngày tháng. Khi bạn mở tệp PLIST trong trình soạn thảo văn bản, nó trông giống như một mớ dữ liệu hỗn độn. Tuy nhiên, trên thực tế, tất cả được tổ chức thành một định dạng mà máy tính có thể đọc và xử lý dễ dàng.
Đây là một ví dụ đơn giản về tệp PLIST:
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>Name</key>
<string>Newt Masterson</string>
<key>Age</key>
<integer>43</integer>
<key>Children</key>
<array>
<string>Ellen</string>
<string>Luna</string>
<string>Norma</string>
</array>
</dict>
</plist>
Trong ví dụ trên, tệp chứa 3 cặp key-value. Cặp đầu tiên có key là “Name” và giá trị là “Newt Masterson”. Cặp thứ hai có key là “Age” và giá trị là 43 (một số nguyên). Cặp thứ ba có key là “Children” và giá trị của một mảng chuỗi. Mảng và từ điển có thể chứa các cặp và mảng key-value khác. Điều này cho phép bạn lưu trữ dữ liệu ở định dạng phân cấp.
Cách chỉnh sửa tệp PLIST
Trên máy Mac, tệp PLIST thường được sử dụng để lưu trữ các thông tin ứng dụng trong thư mục ~/Library/Preferences/, hoặc trong gói dữ liệu của ứng dụng. Nhưng đôi khi nó cũng có thể được đặt ở các vị trí khác. Ví dụ: tệp com.apple.TextEdit.plist chứa các tùy chọn cho ứng dụng TextEdit (nằm trong ~/Library/Containers/com.apple.TextEdit/Data/Library/Preferences/).
Khi bạn mở ứng dụng TextEdit, hệ thống sẽ đọc tệp com.apple.TextEdit.plist và tải các thông tin cần thiết. Nếu bạn thực hiện bất kỳ thay đổi nào đối với các tùy chọn trong ứng dụng — chẳng hạn như thay đổi kích thước phông chữ — những thay đổi đó sẽ được lưu trở lại tệp PLIST.
(Cảnh báo: Sẽ rất nguy hiểm nếu chỉnh sửa thủ công các tệp PLIST, trừ khi bạn biết chính xác mình đang làm gì. Nếu bạn mắc lỗi, ứng dụng sẽ gặp vấn đề và không còn hoạt động bình thường. Trước khi bạn thực hiện bất kỳ thay đổi nào, hãy tạo một bản sao lưu của tệp PLIST gốc để có thể hoàn nguyên trong trường hợp có sự cố).
Bạn cũng có thể chỉnh sửa tệp PLIST của ứng dụng theo cách thủ công, nhưng sẽ rất phức tạp, tùy thuộc vào cách một ứng dụng cụ thể ghi dữ liệu vào tệp PLIST như thế nào. Kiến thức về cấu trúc XML sẽ hữu ích trong tình huống này. Ví dụ: nếu bạn muốn thay đổi kích thước phông chữ cho ứng dụng TextEdit, bạn sẽ mở tệp com.apple.TextEdit.plist trong trình soạn thảo văn bản hoặc Xcode, và tìm key liên quan đến kích thước phông chữ, thay đổi giá trị, lưu PLIST , sau đó thoát khỏi ứng dụng chỉnh sửa văn bản.
Đôi khi các key không được liệt kê và trong những trường hợp đó, tốt nhất là bạn nên để riêng tệp PLIST trừ khi bạn tự tin mình có kiến thức kỹ thuật sâu về cách ứng dụng hoạt động. Thay vào đó, hãy thay đổi các tùy chọn trong chính ứng dụng. Chúc may mắn!