在基于文档的mac app中,如何获取无标题文档的临时文件夹?

时间:2017-04-25 10:47:07

标签: macos cocoa

因此,如果在应用程序的代理中,我有代码

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

因此,当应用程序启动时,它将创建一个带有无标题名称的默认文档文件。

我的问题是:在用户保存文件之前(此时将选择新位置),有没有办法知道当时文档的路径? (应该在系统临时文件夹中的某处)

注意:请不要问我为什么需要知道路径,这是一个非常古老的项目,并且由于历史原因我需要它并且无法更改。

1 个答案:

答案 0 :(得分:2)

您可以从NSFileManager获取未保存文档的文件夹。

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

您可以通过此方法获得的路径如下(如果应用程序是沙盒,则嵌套在容器中):

~/Library/Autosave Information/

即使您没有启用基于文档的应用程序的autosavesInPlace功能,此文件夹也可用于恢复窗口等。

但正如Willeke已经指出的那样,未保存的文档实际上没有路径。