2017-04-25 79 views
0

因此,如果在應用程序的委託,我有一些代碼在基於文檔的mac應用程序中,如何獲取無標題文檔的臨時文件夾?

- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender 
{ 
    return YES; 
} 

所以,當應用程序啓動,它會創建一個無名稱的默認文檔文件。

我的問題是:在文件被用戶保存之前(此時會選擇一個新的位置),那麼有沒有辦法在那個時候知道文檔的路徑? (應該在系統臨時文件夾中的某個地方)

注意:請不要問我爲什麼我需要知道路徑,這是一個非常舊的項目,由於歷史原因我需要它並且無法更改。

+0

'autosavedContentsFileURL'如何?在文檔中找到它並不難。 – Willeke

+0

感謝您的意見,但不,我的應用程序不會選擇autoSave。該屬性始終爲零。 – Simon

+0

未保存的文檔沒有路徑。它不存在於磁盤上。也許舊的項目確實將文檔保存在某處,但我們無法知道在哪裏。 – Willeke

回答

1

您可以從NSFileManager獲取未保存文檔的文件夾。

NSURL *url = [[NSFileManager defaultManager] URLForDirectory:NSAutosavedInformationDirectory 
                inDomain:NSUserDomainMask 
              appropriateForURL:nil 
                 create:YES 
                 error:&error]; 

您可以通過這種方法得到的路徑是以下(或嵌套在容器中,如果應用程序是沙箱):

~/Library/Autosave Information/ 

即使你不啓用文檔 - 的autosavesInPlace功能這個文件夾可能會用於恢復窗口等等。

但正如Willeke已經指出的那樣,未保存的文檔實際上並沒有路徑。

相關問題