เรามีการสนทนาที่น่าสนใจเกี่ยวกับการลบไฟล์บนอุปกรณ์ iOS ที่นี่ คำถามคือถ้าฉันลบไฟล์โดยใช้ NSFileManager เกิดอะไรขึ้นภายใต้ประทุน?
ความเข้าใจของฉันคือการลบจะดำเนินการโดยการลบรายการไฟล์ที่เกี่ยวข้องจากตารางระบบไฟล์
อาร์กิวเมนต์ตัวนับคือตัวจัดการไฟล์ยังคงอยู่ในทางใดทางหนึ่งและเฉพาะค่าสถานะที่ได้รับการตั้งค่าซึ่งทำเครื่องหมายไฟล์เป็นลบ หากผู้ใช้มีการเข้าถึงรูทอุปกรณ์ iOS ผู้ใช้สามารถรีเซ็ตการตั้งค่าสถานะนั้นและกู้คืนเนื้อหาไฟล์
ในทั้งสองกรณีเรายอมรับว่าเนื้อหาไฟล์จริงจะไม่ถูกเขียนทับและไบต์ธรรมดายังคงอยู่ในหน่วยความจำแฟลช / ดิสก์จนกระทั่งบล็อกถูกครอบครองโดยไฟล์อื่น
แนวคิดอยู่ในขณะนี้: ถ้ารุ่นที่สองเป็นจริงเราสามารถเขียนทับไฟล์ที่มีเนื้อหาหนึ่งไบต์ก่อนที่จะลบ (แม้ว่าไบต์นั้นจะถูกเขียนไปยังตำแหน่งใหม่บนแฟลชไดรฟ์โดยไม่ต้องเขียนทับเนื้อหาเก่าจริง ๆ ) หากไฟล์นั้นถูกกู้คืนจะมีเพียงหนึ่งไบต์ที่เขียนทับเนื้อหาเท่านั้น
โปรดทราบว่าเราไม่ได้พูดถึงการวิเคราะห์ทางนิติเวชของแฟลชไดรฟ์ซึ่งอาจกู้คืนเนื้อหาไฟล์ต้นฉบับได้
ดังนั้นเพื่อสรุป:
- การลบไฟล์บน iOS ทำงานอย่างไรภายใน
- วิธีการเขียนทับช่วยป้องกันการลบหรือไม่?