2011-08-21 48 views
2

出于某种原因,我的两个文件被锁定,当我单击窗口右上角的小锁图标时,它会询问我是否想解锁,并且这样做会导致“The file xxxx.h could不被解锁“(解锁失败,原因不明)。我试图重新启动Xcode,也试图重新启动我的机器,没有任何帮助。无法解锁文件以在Xcode 4中进行编辑?

我也无法使用BBEdit编辑文件,我收到错误“您没有足够的权限来执行此操作(MacOS错误代码:-5000)”。

我运行OS X狮子和Xcode 4

很奇怪,因为我没有这个问题之前所做的任何更改到我的系统。任何帮助,将不胜感激。

+0

您可以使用Get Info手动解锁Finder中的文件吗? –

+0

是的,我能够做到这一点。我已将所有权限设置为读取和写入此文件的所有人。我也能够更改文件名,但编辑内容会导致此错误。 –

+0

尝试复制文件,删除原件并重命名副本以匹配原件。 –

回答

3

在任何文本编辑器中打开文件。如果内容不是基于文本的,你会看到很多乱码。忽略这一点,复制内容。打开一个新的文本文件。粘贴内容并保存在旧文件上。这将只复制文件的内容并忽略权限。

+0

彼得,谢谢你的回复。我读这篇文章的时间太晚了。我只是做了一次恢复,回到10.6,因为我在Xcode和10.7上遇到了很多崩溃。如果它不能解决问题,我会尝试你的方法。 –

+1

Reformat没有帮助,但Xcode 4在10.6(对我而言)中运行得更好。无论如何,将内容粘贴到新文件中工作完美。感谢彼得的答案。任何想法如何发生? –

+0

@ngoan当你像这样复制文件时,你只是复制*内容*而不是元数据,其中包括权限和锁定,而不是元数据。修复了许多棘手的情况。 –

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 ./*'? – akr

2

@eecue的回答对我没有帮助我的用户完全去除所有的ACL权限的另一个终端命令:。

须藤搭配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

相关问题