如何在不影响单元测试目标构建的情况下更改发布目标的名称?

时间:2012-01-27 17:31:34

标签: xcode

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

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是发布目标的名称。

是否有自动或快速更新单元测试目标的方法,以便它保持步调?

2 个答案:

答案 0 :(得分:0)

根据单元测试目标的添加方式,您可能会或可能不会在测试目标中对应用目标产生构建依赖关系。我会先在目标中检查 - >测试目标 - >构建阶段 - >目标依赖项。我认为XCode会自动更新,但你永远不知道......

另一个寻找目标的地方是单元测试目标构建方案,在那里你应该看到测试目标(以及可选的项目目标本身,因为我在我的个人测试项目中依赖它)。 p>

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

答案 1 :(得分:0)

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

  1. 进入Project Inspector并选择单元测试目标Locate 测试主机值(它将是类似的 $(BUILT_PRODUCTS_DIR)/MyOldAppTargetName.app/MyOldAppTargetName
  2. 编辑“测试主机”值以反映新的应用程序目标名称 (就像是 $(BUILT_PRODUCTS_DIR)/MyNewAppTargetName.app/MyNewAppTargetName
  3. 我已将此作为http://www.openradar.me/21139630和rdar:// 21139630与Apple一起提交。如果您也遇到这个问题,请随意欺骗。