Sketch 文件因損壞不能被打開該怎麼辦
本文問題前提:
在使用 Sketch 時,因為各種原因導致的源文件不能被打開(不包含跨版本打開源文件這種情況),例如 Sketch 崩潰或者退出後導致某個源文件不能被打開了,通常會顯示「The document xxx could not be opened」的提示語。
適用條件:
1. 開啟了 Sketch 設置里的「Auto Save file while editing」
2. 最近沒有清理過 Sketch 的緩存,比如使用網上的命令行或者用 Sketch Cache Cleaner 這個軟體
3. 沒有把你損壞的文件給徹底刪除
如果你滿足了以上條件,那不妨試試接下來這個辦法。沒錯,就是從 Sketch 自動備份的文件夾去找回歷史版本。
具體操作
一、找到隱藏文件
沒錯,你需要找的文件是隱藏起來的。所以,第一步就是讓你的隱藏文件可見。我們需要找的這個文件夾叫做「.DocumentRevisions-V100」,請看以下步驟:
1. 打開終端(用 Spotlight 工具搜索「終端」或者在 Launchepad 里的「其他」文件夾里查看一下)
2. 輸入以下命令讓隱藏文件可見
defaults write com.apple.finder AppleShowAllFiles YES
3. 按下回車,命令生效
4. 按住「option」鍵,右鍵單擊 dock 欄上面的 Finder 程序。然後選擇最下面的「重新開啟」。
5. 這時候你再打開 Finder,點擊側邊欄的主頁按鈕,你應該可以看到隱藏文件夾了。這個文件夾的名字是「DocumentRevisions-V100」。但是萬一你找不到呢?別慌,你可以點擊頂欄的「前往 > 前往文件夾」或者按下快捷鍵「Shift + Command + G」,輸入以下路徑:
/Volume/.DocumentRevisions-V100
到了這裡,我們算是來到了寶藏的大門前。你會看到文件夾都是置灰而且還有個紅色小圖標,點擊還會發現沒有許可權查看,怎麼辦?!
6. 選中文件夾,按下快捷鍵「Command + i」,在彈出窗口你會看到底部有一個小鎖。點擊它,輸入密碼。然後在底部的「共享與許可權」一欄,單擊「Everyone」旁邊的許可權,給予「讀和寫」許可權。這個操作在後面也會用到。
二、找到對應的備份文件夾
進入到「.DocumentRevisions-V100」文件夾,你會發現,裡面又是一堆文件夾,而且命名還看不懂是幹什麼的。別慌,接下來請選擇「PerUID」這個文件夾,按照上文的方式去給予許可權才能打開。接下來的「501」文件夾也是一樣(下圖是分欄顯示模式)。
如果你順利的來到了如圖所示的文件夾裡面,你也會發現有很多用「1a」、「2c」 這樣來命名的子文件夾,而且數量還不少。這時候就需要一點小技巧了。讓我們回到你損壞的源文件那裡,在分欄顯示的模式下檢查一下源文件的創建時間(如下圖所示)。
記住這個時間,回到剛剛的「501」文件夾裡面,切換到列表顯示的模式。然後右鍵「修改日期」那裡,選擇「創建日期」。
接下來,只要找到和源文件創建日期一致的文件夾,給予許可權,就可以進去找回歷史版本啦。
注意事項
此方法具有局限性,根據 Sketch 的設定,但凡被徹底清空的文件,其相對應的備份文件也將被馬上刪除,所以你懂的,如果你徹底刪除了,那恢複數據又是另外一件事情了,而且難度係數更加大了。
另外需要注意的是,從備份文件里拿出來的文件,是否能夠再次擁有自動備份的能力呢?我做了一個實驗,我新建了一個文檔,確定存在自動備份之後,把該文檔刪除(移到廢紙簍)。然後在備份文件夾拿出最新的一份,拷貝到別的地方並重新命名。打開之後會發現在軟體的頂部會有一個「Locked」這樣的信息(在對其進行了一會操作之後,Sketch 會提示你無法自動保存)。同時,按下「Command + i」,也發現我們對其的許可權只有隻讀,沒有其他操作。
那怎麼才能讓它能夠自動保存呢?很簡單,只要你修改了許可權,Sketch 會自動地幫你創建此文件的備份文件夾並自動備份。
我這裡推薦使用我在上面用到的方法去給予許可權:
選中文件,按下快捷鍵「Command + i」,在彈出窗口你會看到底部有一個小鎖。點擊它,輸入密碼。在底部的「共享與許可權」一欄,單擊「Everyone」旁邊的許可權,給予「讀和寫」許可權。
但為了安全起見,我建議還是只給予「你自己」許可權,即你自己創建的 OS X 賬戶。當然,如果你覺得不會有太大安全的風險,選擇「Everyone」也是沒問題的。
教程就到這裡,希望各位平時做好備份工作,減少不必要的麻煩。此教程或許好幾年才能用一次,希望能夠幫到大家。
方法參考:
https://medium.com/sketch-app-sources/how-to-recover-50-go-or-even-more-by-deleting-sketch-caches-files-e5829dba20e1
推薦閱讀:
※Sketch Plugin 讓你的設計更豐富、更高效(三)
※為什麼你的 iOS 應用在 Sketch 上看起來更棒
※如何用sketch製作精緻的APP原型
※Sketch Plugin 讓你的設計更豐富、更高效(二)
※用sketch如何實現交互點擊的視覺標註?