Ios 重命名Xcode 6项目后出错:“0”;链接器命令失败,退出代码为1(使用-v查看调用)";

Ios 重命名Xcode 6项目后出错:“0”;链接器命令失败,退出代码为1(使用-v查看调用)";,ios,xcode,swift,xcode6,Ios,Xcode,Swift,Xcode6,因此,在创建Xcode 6项目之后,即使我没有在其中编写任何代码,如果我尝试通过双击导航器左上角的粗体程序标题来重命名它,然后确认我希望更改选中项的名称,那么在尝试运行它时,我会出现以下错误:“叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用)” 我甚至尝试使用“查找”工具查看所有名为以前名称的内容,包括info.plist(我认为这是问题所在)并将其更改为新名称。通过手动重命名info.plist,我会收到一个错误,表示该名称不存在 我做错了什么?重新命名时,有很多地方需要检查。这

因此,在创建Xcode 6项目之后,即使我没有在其中编写任何代码,如果我尝试通过双击导航器左上角的粗体程序标题来重命名它,然后确认我希望更改选中项的名称,那么在尝试运行它时,我会出现以下错误:“叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用)”

我甚至尝试使用“查找”工具查看所有名为以前名称的内容,包括info.plist(我认为这是问题所在)并将其更改为新名称。通过手动重命名info.plist,我会收到一个错误,表示该名称不存在


我做错了什么?

重新命名时,有很多地方需要检查。这种方法似乎根本不实用


如果确实需要这样做,我建议您创建一个新项目,只需将必要的文件复制到新项目。

更改名称后,我看到了相同的错误,我可以通过清除“测试”目标的生成设置中的“测试主机”值来修复它:


或者,如果您需要在更改项目名称后运行测试,您应该能够更新两个字段中的
MyProject.app/MyProject
值以反映项目的新名称(即
MyNewProject.app/MyNewProject

转到“我的”测试的生成设置“然后将路径从旧项目名称更改为新项目名称

Test Host
 - Debug   Build/Debug-iphoneos/OldProjectName.app/OldProjectName
 - Release Build/Release-iphoneos/OldProjectName.app/OldProjectName

Test Host
 - Debug   Build/Debug-iphoneos/NewProjectName.app/NewProjectName
 - Release Build/Release-iphoneos/NewProjectName.app/NewProjectName
只要简单地清除它们就会破坏您的测试,因此您需要用新的项目名称替换它们。

如果上述方法不起作用,并且如果您现在不想测试项目中的任何内容,只需删除您的项目测试目标即可


稍后,如果您需要创建一些测试,在使用xcode项目复制和重命名文件夹后,仍然可以运行该测试。我认为这是xcode中的一个bug。最好使用bugreporter()归档一个bug。从我的项目中删除测试目标也为我解决了这个问题。

以下是我在更改项目名称和项目下的文件夹后为解决类似问题所做的工作

  • 选择项目文件:projectName.xcodeproj
  • 右键单击项目文件并单击“显示包内容”以打开project.pbxproj文件
  • 打开ope project.pbxproj文件后,将所有项目名称(无论从何处更改)替换为新名称
  • 如果您也更改了文件夹名称,则可以更改子文件夹的名称

  • 希望对您有所帮助。

    您可以在不同的地方检查重命名。
    您应该在测试目标和项目目标中检查“旧”项目名称。搜索旧名称字符串并手动将其重命名为新名称。

    如果不使用测试目标,则可以删除此目标。

    仍然需要一种更方便用户的方法来简单地重命名项目,还是不存在?如果你已经创建了一个更大的项目,并且有一个更复杂的故事板,那么你可能不想复制/粘贴所有内容,只是为了适应项目标题中的一个单词,我想…你想要改变的东西基本上是装饰性的。将您的项目放入具有首选名称的文件夹中,您就完成了。不,不需要(也没有)更方便用户的方式来实现这一点。skyguy正在使用xcode的内置方式重命名项目。它会处理所有需要修复的“许多地方”,因此它确实非常实用。当重命名Swift项目时,它恰好在一个地方中断是一个小的xcode错误。感谢乔布斯,这终于为我修复了它。你是圣人:)你如何清除这些值,你只是删除它们,还是需要用其他东西替换它们?当我刚刚删除它们时仍然存在问题。我没有删除这些值,我只是通过双击并删除文本将它们设置为空字符串清除字符串(只需按键盘上的删除按钮)即可。非常感谢!你是对的,我想知道为什么重命名项目后这部分没有更新。这对我有用。我只是将现有的测试添加到新的测试目标中。此外,我在一些XCTest子类中使用了
    @testable import MyModule>
    。需要更新模块名称。