应用程序偶尔会开始显示“无法自动保存文档”对话框


8

每当我尝试关闭或保存任何文档时,某些应用程序(通常是TextEdit)都会开始显示如下对话框:

无法自动保存文档“ 2.txt”。

在问题解决之前,您的更改将不会保存。您也可以复制文档或放弃所做的更改以将其关闭。

我必须退出并重新打开该应用程序才能再次保存任何内容。

  • 我已在系统偏好设置中自动禁用了恢复和锁定文件
  • 这些文件通常位于我的主文件夹下的普通文件夹中,据我所知,它们没有任何特殊之处
  • 我尝试修复权限
  • TextEdit的代码签名有效

system.log通常包含以下消息:

5/8/12 9:04:01.358 PM [0x0-0x17b17b].com.apple.TextEdit: [ERROR] GSLibrary.c:_AddGenerationInternal:393  Failed to consume sandbox extension; error 12 (Cannot allocate memory)
5/8/12 9:04:01.361 PM TextEdit: NSFileVersion tried to tried to add a new generation and failed. Versioned file URL: file://localhost/Users/lauri/Notes/2.txt, contents URL: file://localhost/Users/lauri/Notes/2.txt, error: Error Domain=GSLibraryErrorDomain Code=1 "The operation couldn’t be completed. (GSLibraryErrorDomain error 1.)" UserInfo=0x10b24d070 {}
5/8/12 9:04:01.362 PM TextEdit: NSDocument failed to preserve the old version of a document. Here's the error:
Error Domain=GSLibraryErrorDomain Code=1 "The operation couldn’t be completed. (GSLibraryErrorDomain error 1.)" UserInfo=0x10b24d070 {}

Failed to consume sandbox extension; error 12 (Cannot allocate memory)?有人知道这是怎么回事吗?

编辑:在用TextEditPlus替换TextEdit之后,我没有看到这些错误。它基于TextEdit的源代码,但禁用了沙箱功能并进行了其他一些更改。

Answers:


4

看来这实际上是Apple沙盒实现中的错误。这意味着以上任何步骤均无济于事。在我们的一个应用程序中,我们具有相同的控制台输出(包括无法保存文本),并花费了相当多的时间来查找错误的原因(请参阅此雷达)。从我们发现的结果来看,似乎在多次检索了最近打开的文档之后,该应用程序无法再保存文件,因为它没有得到这样做的许可。您可以尝试清除最近使用的文档菜单,这可能有所帮助。


在macOS 10.14.6
Seth Noble

1

在Lion中,有一种隐藏的修复权限的方法,它似乎更加有效:

  1. 重启狮子,并在你听到钟声,按住Cmd+ R,访问狮恢复
  2. 单击菜单栏中的实用程序项,然后单击终端。
  3. 在“终端”窗口中,键入resetpassword并单击Return。
  4. 密码重置实用程序窗口启动,但是您不会重置密码。相反,请单击顶部Mac硬盘驱动器的图标。从下面的下拉菜单中,选择出现问题的用户帐户。
  5. 在窗口底部,您将看到一个标记为“ 重置主目录权限和ACL”的区域。单击那里的重置按钮。

似乎此功能Dwight Silverman解决了相同的问题。猜猜值得尝试。

显然,像往常一样,使用“磁盘工具”修复权限不会修复“用户”文件权限。


即使文件的权限和所有者完全正常,我还是尝试了。如果我一周左右都没有遇到这些对话框,我会接受这个答案。
Lri 2012年

TextEdit现在再次显示该错误(具有相同的控制台输出)。因此,我假设重置权限没有帮助...
Lri 2012年

您是否正在使用不在本地计算机中的文件?也许是iDisk或共享文件夹中的文件?
Thecafremo

否。file://localhost出于某些原因,日志仅将本地路径显示为URL。
Lri 2012年

1
  1. 选择文档中所有文本到剪贴板(Command+A
  2. 退出并选择放弃对文档所做的更改。
  3. 重新打开文档。
  4. 选择文档中的所有内容(现在是旧副本)。
  5. 粘贴先前复制出的材料。
  6. 现在保存新的完整文档。

0

复制内容并将其粘贴到相同类型的另一个文档中。

在“主题演讲”中,在“导航器”视图中选择所有幻灯片,并将它们拖到新文档的同一窗格中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.