将现有实现文件添加到Xcode项目将不起作用

将现有实现文件添加到Xcode项目将不起作用,xcode,file,add,Xcode,File,Add,当我使用MacVIM编写大部分代码时,我需要将新文件添加到XCode项目中,以便将它们编译成可执行文件。但是今天我遇到了一个XCode不允许添加的实现文件.m。它在相应的finder窗口中显示为浅灰色,就好像它已经包含在项目中一样,但是当我尝试构建时,我得到一个链接器错误,说明无法找到定义此实现文件的符号。可以毫无问题地添加相应的头文件 知道是什么导致了这个问题吗 顺便说一句,我之前从类树中删除了同一文件的一个旧版本,以及许多其他成功重新添加的文件。我想我曾经在旧版本的Xcode中看到过类似的问

当我使用MacVIM编写大部分代码时,我需要将新文件添加到XCode项目中,以便将它们编译成可执行文件。但是今天我遇到了一个XCode不允许添加的实现文件.m。它在相应的finder窗口中显示为浅灰色,就好像它已经包含在项目中一样,但是当我尝试构建时,我得到一个链接器错误,说明无法找到定义此实现文件的符号。可以毫无问题地添加相应的头文件

知道是什么导致了这个问题吗


顺便说一句,我之前从类树中删除了同一文件的一个旧版本,以及许多其他成功重新添加的文件。

我想我曾经在旧版本的Xcode中看到过类似的问题。IIRC我决定的方式是:

暂时重命名源文件 将重命名的文件添加到项目中 执行另存为。。。在重命名的文件上,将其恢复为原始名称
该文件可能已经在您的项目中,但不在您正在构建的目标中。使用“详细视图”和“搜索气泡”查找它,获取信息,然后在“信息”窗口的“目标”选项卡中,选中要构建的目标的复选框


另一个答案是删除和重新添加,因为您最终会将其从项目中删除,然后在重新添加时,默认情况下会将其添加到当前目标中

我发现从.xcodeproj中删除我的pbxuser文件解决了这个问题。令人惊讶的是,这里有我无法添加的文件引用。这些年来,这件事已经发生在我身上很多次了

另一个窍门是:

将文件移动到其他目录中

从那里将其添加到XCode项目

将其移动到所需位置

在组和文件中选择文件(&F)

从菜单栏中选择文件>获取信息。完整路径将显示为红色

按“选择…”。。。按钮并在新位置选择文件


如果您使用的是Xcode 4,则可以执行以下步骤将现有文件添加到目标中:

1在“项目导航器”视图中选择您的文件。单击Xcode文件夹树中的myfile.m文件

2单击菜单项View=>Utilities=>ShowFileInspector或使用快捷方式Alt+命令+1


3有一个部分称为目标成员资格,检查您想要的目标

我通过删除.xcuserstate文件并重新启动项目解决了这个问题。我正在使用一个工作区文件,不管它值多少钱

您可以通过找到任何和所有引用文件

grep-r-h[您试图添加的文件名]*


在您的项目目录中。

非常感谢!他立即开始工作。我欣赏快速的反应,这件事让我发疯-令人毛骨悚然的巧合-我已经很久没有看到这个问题了,但今天它再次发生在我身上-我有一个.h文件拒绝添加到项目中,我不得不采用上述技巧。@cdespinosa:嗨,克里斯-这可能是某些情况下的解释,但我确实认为这显然是Xcode中的错误行为。今天我注意到了它,因为全局搜索和替换未能修改某个标题,因为它不在项目中-但是我不能在不使用上述技巧的情况下将其添加到项目中-此后搜索和替换工作正常。