18

我一直在关注这篇博文:向现有项目添加单元测试。

但是,我收到此错误:

ld:找不到文件:Build/Products/Debug-iphoneos/MyApp.app/MyApp 命令/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang 失败,退出代码为 1

我有我的测试目标属性,

捆绑加载程序 = $(BUILT_PRODUCTS_DIR)/MyApp.app/MyApp

测试主机 = $(BUNDLE_LOADER)

(两者都等同于:build/Debug-iphoneos/MyApp.app/MyApp)

我的疯狂猜测是这些变量没有指向与编译器相同的位置。“构建/调试-iphoneos/...”与“构建/产品/调试-iphoneos/...”

我的猜测可能完全错误,但无论哪种方式,有谁知道导致此错误的原因或我将如何修复这些环境变量?

谢谢你的帮助,

山姆

4

6 回答 6

18

深入到 ~/Library/Developer/Xcode/DerivedData,深入到您的项目中。从那里,遵循 Bundle Loader 路径。看看到底有什么。

现在查看您的 Info.plist(或目标的 Info 设置)并查找“可执行文件”或CFBundleExecutable. 如果是${EXECUTABLE_NAME},请检查目标的“产品名称”设置。

于 2012-03-09T01:50:50.543 回答
6

我遇到了同样的问题 - 它没有意义,因为它用于可执行文件的路径实际上存在。仔细查看编译命令会发现加载器路径上有一个额外的空间是问题所在。

于 2012-08-30T22:55:01.933 回答
0

在构建设置中寻找“搜索路径”。可能在“框架搜索路径”或其他路径(如库搜索路径)下存在不存在的路径

于 2013-12-17T08:03:13.343 回答
0

您有可能在创建项目后更改了应用程序的名称。所以你的项目和应用程序的名称是不同的。在路径中,使用您的应用程序名称,因为它会出现在 iTunes 商店中,而不是您的项目名称。

于 2014-04-04T12:43:02.097 回答
0

我之前遇到过同样的问题,我通过检查单元测试目标的 Build Settings -> Base SDK 解决了这个问题,并根据您的项目类型(OSX 或 iOS)确保它是正确的。

于 2014-10-31T04:34:34.340 回答
0

在您的 podfile 中,确保您已将测试作为目标包含在内

目标'YourAppNameTests'做use_frameworks!吊舱“AFNetworking”,“2.6.0”吊舱“TYMProgressBarView”结束

这将自动添加 Link Binary 与 Libraries Framework

在此处输入图像描述

于 2016-06-06T16:41:10.937 回答