ฉันจะแก้ไขไฟล์. plist ได้อย่างไร


40

แอปพลิเคชั่นที่ดีที่สุดในการเปิดและแก้ไขไฟล์ plist คืออะไร


ไม่ใช่ฉัน แต่มีคนโหวตให้ปิด ... ฉันคิดว่าถ้าคุณเพิ่งเปลี่ยนคำถามของคุณให้เฉพาะเจาะจงมากขึ้นเกี่ยวกับสิ่งที่คุณพยายามจะทำก็จะไม่ได้รับคะแนน 'ส่วนตัว'
Robert S Ciaccio

7
การโหวตปิดโดยไม่แสดงความคิดเห็น? ทางไปทีม!
Philip Regan

นี่เป็นคำถามที่ดี หลายครั้งที่ฉันต้องการเปิดไฟล์. plist แต่ถึงแม้จะดาวน์โหลดแอพมันดูยากมาก (มาก) ดังนั้นฉันก็เลยยอมแพ้
Nicolas Barbulesco

คำตอบ:


27

ไฟล์ PList อย่าง Mankoff กล่าวว่าเป็นเพียงไฟล์ XML ที่จัดรูปแบบเป็นพิเศษดังนั้นคุณจึงสามารถแก้ไขและสร้างไฟล์เหล่านั้นในโปรแกรมเช่น TextEdit

เนื่องจากลักษณะเฉพาะของ Plists to Development อย่างไรก็ตามการใช้โปรแกรมพิเศษเช่นXcodeหรือProperty List Editorกลายเป็นความพยายามที่มีผลมากกว่า นี่เป็นเพราะไม่เพียง แต่จัดรูปแบบโค้ด XML ให้คุณโดยอัตโนมัติเท่านั้น แต่มันจะแปลตัวระบุคีย์และเลเยอร์เป็นคำที่อ่านได้และสำหรับค่าบางค่ามันจะมีเมนูแบบเลื่อนลงเพื่อเติมคำตอบที่ถูกต้อง โดยเฉพาะอย่างยิ่งเมื่อต้องรับมือกับ Plists iPhone เมื่อตัวแปรรันไทม์หลายตัวสามารถตั้งค่าได้โดยใช้ Plist การสร้างฟิลด์ใหม่และการรู้ว่าจะใส่อะไรลงไปนั้นทำให้ง่ายขึ้นมาก

คุณสามารถรับ bot Xcode และ PList Editor ได้จากเว็บไซต์ Apple Developer http://developer.apple.comฟรีโดยดาวน์โหลด Xcode ล่าสุด


6
IIRC โปรแกรมบีบอัดบางตัวจะถูกบีบอัดซึ่งทำให้ไม่สามารถเปิดได้ในโปรแกรมแก้ไขข้อความโดยไม่ต้องถอดรหัสก่อน เครื่องมือของ Apple ทำสิ่งนั้นโดยอัตโนมัติและกลับมาอีกครั้ง
Lloeki

สมบูรณ์แบบดีมากเหตุผลที่ต้องใช้ Xcode 4!
SeniorShizzle

5
ถ้าเพียงแค่… ! แต่ไม่ไฟล์. plist บางไฟล์เป็นไบนารีหรืออะไรทำนองนี้และ TextEdit นั้นไม่เพียงพอสำหรับพวกเขา
Nicolas Barbulesco

โปรดจำไว้ว่าขึ้นอยู่กับกรณีการใช้งานที่เฉพาะเจาะจงอาจมีเครื่องมือที่เหมาะกับงานมากขึ้นโดยมีจุดประสงค์เพื่อแก้ไขไฟล์ plist ประเภทเฉพาะ ตัวอย่างเช่นคุณสามารถใช้ Apple Configurator สำหรับการแก้ไขโปรไฟล์ iOS (.mobileconfig ส่วนขยาย) หรือ Clover Configurator สำหรับการแก้ไขโปรไฟล์การบูต Clover
Manchineel

57

หากไฟล์ plist อยู่ในรูปแบบ XML คุณสามารถแก้ไขได้ในเท็กซ์เอดิเตอร์ใด ๆ เช่น TextEdit หากไฟล์ plist อยู่ในรูปแบบไบนารีคุณสามารถแปลงเป็น XML ก่อนโดยรัน:

plutil -convert xml1 file.plist

หากคุณต้องการกลับไปใช้รูปแบบไบนารีหลังจากแก้ไขแล้ว:

plutil -convert binary1 file.plist

หากคุณมี Xcode 4.3 หรือใหม่กว่าคุณสามารถใช้มันเพื่อแก้ไขรายการคุณสมบัติในโปรแกรมแก้ไขกราฟิกเช่นนี้:

Xcode 4.2 และรุ่นก่อนหน้ามาพร้อมกับแอปพลิเคชันแยกต่างหากสำหรับการแก้ไขรายการคุณสมบัติ ( /Developer/Applications/Utilities/Property List Editor.app/)


ในฐานะที่เป็นออกแหลมโดยวิธีนี้ก็เป็นไปได้โดยสิ้นเชิงที่จะใช้plutil -convert json $file(หรือxml) แล้วแก้ไขไฟล์ที่มีการแก้ไขใด ๆ (เหมือนvi) plutil -convert binary1 $fileและในที่สุดก็แปลงกลับมาพร้อมกับ
7heo.tk

plutil -p <file>จะ "พิมพ์รายการคุณสมบัติในแบบที่มนุษย์อ่านได้" แทนการแปลง
dentarg

1
นี่เป็นคำตอบที่สมบูรณ์ยิ่งขึ้นและควรเป็นคำตอบที่ยอมรับได้ ตัวอย่างเช่นคุณไม่สามารถแก้ไข ~ / Library / Preferences / .GlobalPreferences.plist โดยตรงโดยไม่ต้องแปลง
Maurice Schleußinger

6

โปรแกรมที่ดีเช่นTextWranglerสามารถแก้ไข.plistไฟล์ไบนารีได้โดยไม่ต้องแปลงไฟล์เป็นครั้งแรกโดยใช้ Terminal เพียงเปิดไฟล์ตามที่คุณต้องการ (เช่นการลากและวางที่ไอคอนโปรแกรมหรือกล่องโต้ตอบเปิดไฟล์หรือเปิดด้วยใน Finder หรือ ... )


1
แต่ค่าไม่สามารถอ่านได้
Nicolas Barbulesco

4

เนื่องจาก Apple ได้ลบ GUI Editor List Editor ออกไป Xcode จึงเป็นตัวเลือกฟรีที่ดีที่สุดหากคุณต้องการมั่นใจในผลลัพธ์

มี gotcha บางส่วนที่ใช้ตัวแก้ไขรหัสทั่วไปเพื่อแก้ไขไฟล์ plist ตั้งแต่พจนานุกรมใช้รายการเช่น

<key>some key</key>
<string>some value</string>
<key>another key with boolean value</key>
<true />

คุณสามารถสร้างไฟล์ XML ที่ถูกต้องที่ไม่ใช่ไฟล์ Plist ที่ถูกต้องตัวอย่างเช่น

<key>some key</key>
<!-- oops, forgot to enter a value - still valid XML -->

<!-- valid XML, not a plist -->
<key>another key with boolean value</key>
<true>yes</true>

หากคุณยินดีที่จะทำการค้าPlistinatorจะแก้ไขทั้งไฟล์ plist ไบนารีและ XML

เปิดเผยแบบเต็ม: ฉันเป็นผู้แต่ง Plistinator และค่าใช้จ่าย $ 12.99 สำหรับราเมนและค่าเช่าของฉัน


มันดีกว่า XCode ไหม
georgexsh

Xcode ดีกว่า Plistinator บน Mac - UI นั้นดีกว่าและ Apple เป็นที่ยอมรับ อาจเป็นเรื่องเจ็บปวดเมื่อคุณต้องติดตั้ง Xcode ทั้งหมดเพื่อรับเครื่องมือแก้ไข Plistinator ทำการค้นหา / สแกนไดเรคทอรีและยังมีฟิลด์แก้ไขขนาดใหญ่สำหรับป้อนข้อความในรูปแบบอิสระให้เป็นค่า คุณสมบัติเหล่านั้นทำให้ Plistinator ยอดเยี่ยมสำหรับงานเช่นแอพและเกมที่ขับเคลื่อนด้วยข้อมูล แต่สำหรับบรรณาธิการส่วนใหญ่ของ Xcode นั้นดีกว่า
sez

1

บนหน้าต่าง terminal คุณสามารถใช้สามารถดูได้ที่PlistBuddy/usr/libexec/PlistBuddy

PlistBuddy สามารถอ่านและแก้ไขค่าภายใน plist ได้ทั้งแบบโต้ตอบหรือโดยตรงบนบรรทัดคำสั่ง

อย่างไรก็ตามPlistBuddyไม่ใช่ตัวแก้ไข GUI


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.