2012-01-27 59 views
7

我有一个发布目标和测试目标,我想更改发布目标的名称,但是如果我这样做,我开始在测试目标中出现链接错误。因为他们是单元测试,我不认为测试目标对发布目标有依赖性,但显然存在。 联动错误是:如何在不影响单元测试目标的构建的情况下更改发布目标的名称?

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是公布目标之前,我重新命名它的名字。

是否有自动或快速的方式更新单元测试目标,使其保持步骤?

+0

这似乎是在模拟器中。确保从iOS模拟器菜单运行“重置内容和设置”以首先清除其缓存。 – Rayfleck 2012-01-27 17:38:42

+0

这样做后链接器错误仍然存​​在 - 但现在它更改为无法找到XYZRenamed.app。 (我首先构建应用程序) – Gruntcakes 2012-01-27 17:49:21

+0

我不知道如何,但我得到它的工作。我注意到Xcode在剩余的东西应该没有正确清理方面似乎有点错误,我认为这是一个表现。 – Gruntcakes 2012-01-27 18:52:15

回答

0

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

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

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

0

可能有点晚了这个答案,但我经历了同样的问题(的Xcode 6.3),并计算出一个修正:

  1. 进入项目检查,并选择单元测试目标定位 测试主机值(它会像 $(BUILT_PRODUCTS_DIR)/MyOldAppTargetName.app/MyOldAppTargetName
  2. 编辑测试主机值,以反映新的应用目标名称 (类似 $(BUILT_PRODUCTS_DIR)/MyNewAppTargetName.app/MyNewAppTargetName

我已将此文件作为http://www.openradar.me/21139630和rdar:// 21139630与Apple一起提交。如果您也遇到此问题,请随意欺骗。

相关问题