无法在Xcode 4中编辑文件,如何解锁?

3
由于某种原因,我的2个文件被锁定了。当我点击窗口右上角的小锁图标时,它会询问我是否要解锁,但是解锁失败并出现“文件xxxx.h无法解锁”(未知原因导致解锁失败)。我尝试重新启动Xcode,也试图重新启动我的机器,但无济于事。
我还无法使用BBEdit编辑这些文件,出现错误“您没有足够的权限执行此操作(MacOS错误代码:-5000)”。
我正在运行带有Xcode 4的OS X Lion。
非常奇怪,因为在出现此问题之前我没有对系统进行任何更改。希望能得到帮助。

你能否在Finder中使用“获取信息”手动解锁文件? - Evan Mulawski
是的,我能够做到。我已经为这个特定文件设置了所有人的读写权限。我也能够更改文件名,但编辑内容会导致出现这个错误。 - Ngoan Nguyen
尝试复制文件,删除原始文件,并将副本重命名为与原始文件相匹配的名称。 - Evan Mulawski
我也尝试过恢复到问题出现之前的时间机器备份,我也尝试过修复我的驱动器权限。是时候进行完全恢复了吗? - Ngoan Nguyen
5个回答

6

在任意文本编辑器中打开该文件。如果内容不是基于文本的,您将看到许多无意义的字符。忽略它们,复制文件内容。打开一个新的文本文件,将文件内容粘贴进去并保存为旧文件。这样可以仅复制文件内容而忽略权限。


Peter,谢谢你的回复。我看到这篇帖子太晚了。我刚刚进行了还原,回到了10.6,因为我在Xcode和10.7中遇到了很多崩溃。如果这不能解决问题,我会尝试你的方法。 - Ngoan Nguyen
1
重新格式化没有帮助,但是对我来说,在10.6中运行Xcode 4要好得多。无论如何,将内容粘贴到新文件中完美地解决了问题。感谢Peter的答案。有任何想法是怎么发生的吗? - Ngoan Nguyen
@ngoan 当你这样复制文件时,你仅仅是复制了内容,而没有复制元数据,其中包括权限、锁定等等。修复了许多棘手的情况。 - Peter Kazazes

6
你所遇到的问题是ACL问题。如果你在目录上执行ls -l命令,你会看到权限字符串末尾有一个小加号:“+”。
drwxr-xr-x+ 4 eekyou  staff  136 May  6  2011 eekyou.xcuserdatad

您可以轻松地将它们去除,就像这样(在您的项目目录中):
sudo chmod -R -E ./*

希望这能帮到你。
=]

1
实际上,这应该是 sudo chmod -R -N ./* 吗? - Andreas Kraft

2

@eecue的回答没有帮助到我。我使用了另一个终端命令来完全删除所有ACL权限:

sudo chmod -RN ./*


0

首先检查文件是否被其他程序或用户打开/锁定。

如果没有,程序可能崩溃并未能删除标记,请查找该文件并使用CMD+i检查它是否已锁定。

如果没有,权限可能不正确,请在CMD+i对话框底部检查权限,并将其应用于封闭文件夹中的所有内容(.xcproject是目录)。

如果这仍然无法解决问题(就像我一样),则可以使用一个简单的命令行来解锁文件夹中的所有文件。只有在检查/执行了上述所有步骤之后才这样做。

sudo chflags -R nouchg /Users/username/Development/GIT/MyProject

当然,用你自己的项目文件夹替换这个项目文件夹。


0

您可能需要拥有您希望保存项目的文件夹的所有权。为此,请打开控制台,然后键入sudo chown $USER /path/to/your/project


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接