Xcode 如何更改发布目标的名称而不影响单元测试目标的构建?

Xcode 如何更改发布目标的名称而不影响单元测试目标的构建?,xcode,Xcode,我有一个发布目标和一个测试目标,我想更改发布目标的名称,但是如果我这样做,我开始在测试目标中得到一个链接错误。由于它们是单元测试,我不认为测试目标与发布目标之间会/应该存在依赖关系,但显然存在依赖关系。 悬挂机构错误为: ld: file not found: /Users/Cequint/Library/Developer/Xcode/DerivedData/XYZ-apppviisyaexwpdcwgjtfldjotro/Build/Products/Debug-iphonesimulato

我有一个发布目标和一个测试目标,我想更改发布目标的名称,但是如果我这样做,我开始在测试目标中得到一个链接错误。由于它们是单元测试,我不认为测试目标与发布目标之间会/应该存在依赖关系,但显然存在依赖关系。 悬挂机构错误为:

ld: file not found: /Users/Cequint/Library/Developer/Xcode/DerivedData/XYZ-apppviisyaexwpdcwgjtfldjotro/Build/Products/Debug-iphonesimulator/XYZ.app/XYZ
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang failed with exit code 1
XYZ.app是我重命名之前发布目标的名称


是否有一种自动或快速的方法来更新单元测试目标,使其保持同步?

根据单元测试目标的添加方式,测试目标与应用程序目标之间可能存在构建依赖关系,也可能不存在构建依赖关系。我将首先在目标->测试目标->构建阶段->目标依赖项中检查。我想XCode会自动更新,但你永远不知道

还有一个地方可以查找目标,那就是单元测试目标构建方案,在这里您应该可以看到测试目标(还有可选的项目目标本身,因为我在我的个人测试项目中依赖它)


测试上述其他人提到的重置方法的另一个地方是到组织者处,选择项目,然后“删除…”所讨论项目的所有派生数据。

这个答案可能有点晚,但我遇到了同样的问题(Xcode 6.3),并找到了一个解决方案:

  • 进入projectinspector并选择单元测试目标 测试主机值(它将类似于
    $(内置产品目录)/MyOldAppTargetName.app/MyOldAppTargetName
  • 编辑测试主机值以反映新的应用程序目标名称 (差不多
    $(内置产品目录)/MyNewAppTargetName.app/MyNewAppTargetName

  • 我已将此作为和提交rdar://21139630 使用Apple。如果您也遇到此问题,请随意复制。

    这似乎出现在模拟器中。请确保运行“重置内容和设置”从iOS模拟器菜单中,首先清除其缓存。执行此操作后,链接器错误仍然存在-但现在更改为无法找到xyzrename.app。(我先构建应用程序)我不知道是怎么做到的,但我还是让它工作了。我注意到Xcode似乎有点问题,因为剩余的东西在应该清除的时候没有正确清除,我认为这就是一种表现。@Woofbeans请将您的解决方案作为答案发布并接受它,或者删除这个问题,因为其他人会在不再是问题时继续来这里尝试解决它n问题。