首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone单元测试链接问题,找不到DevToolsBundleInjection.framework

iPhone单元测试链接问题,找不到DevToolsBundleInjection.framework
EN

Stack Overflow用户
提问于 2010-01-26 12:27:55
回答 3查看 2.6K关注 0票数 4

我正在尝试为我的iphone应用程序设置应用程序单元测试。因此,我复制了应用程序目标,并按照苹果文档(http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/135-Unit_Testing_Applications/unit_testing_applications.html)中的描述创建了单元测试包目标。

在遵循Apple的指导之后,我无法在单元测试中引用我的类,所以我使用"Bundle Loader“构建设置将应用程序链接到单元测试包中,并将主要目标设置为导出符号。这解决了编译时的错误,在我更改它之后,它立即工作并执行了我的测试。但是,一旦我重新清理和构建,当我试图在设备上运行时,我开始收到这个错误:

代码语言:javascript
复制
Unable to read symbols for "/Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.1 (7C144)/Symbols/Developer/Library/PrivateFrameworks/DevToolsBundleInjection.framework/DevToolsBundleInjection" (file not found).

文件确实不存在。我在以下位置找到了.framework文件: /Xcode3.1.4/Library/PrivateFrameworks PrivateFrameworks

并做了一个符号链接。然后运行应用程序说它不能链接应用程序的文件:

代码语言:javascript
复制
010-01-25 20:19:22.330 SmokeyTheBear[5808:207] Error loading /private/var/mobile/Applications/26E1F8F4-6444-415B-84CB-BB161DBA29E9/SmokeyTheBear.app/LogicTests.octest/LogicTests:  dlopen(/private/var/mobile/Applications/26E1F8F4-6444-415B-84CB-BB161DBA29E9/SmokeyTheBear.app/LogicTests.octest/LogicTests, 262): Symbol not found: _OBJC_CLASS_$_AppDelegate
  Referenced from: /private/var/mobile/Applications/26E1F8F4-6444-415B-84CB-BB161DBA29E9/SmokeyTheBear.app/LogicTests.octest/LogicTests
  Expected in: /var/mobile/Applications/26E1F8F4-6444-415B-84CB-BB161DBA29E9/SmokeyTheBear.app/UDorse
 in /private/var/mobile/Applications/26E1F8F4-6444-415B-84CB-BB161DBA29E9/SmokeyTheBear.app/LogicTests.octest/LogicTests
DevToolsBundleInjection: Error loading bundle '/private/var/mobile/Applications/26E1F8F4-6444-415B-84CB-BB161DBA29E9/SmokeyTheBear.app/LogicTests.octest'

然后,我切换回运行应用程序的正常目标,它运行了我的所有单元测试并退出!我再次清理并构建,然后正常的目标运行正常。单元测试目标仍然不起作用。

EN

回答 3

Stack Overflow用户

发布于 2013-09-25 03:21:16

检查项目目标的生成设置。

查找"Symbols Hidden by Default“设置。

确保将其设置为NO,至少对于调试版本是这样,您应该将其用于测试。

如果没有此设置(可能来自较旧的Xcode项目),测试代码将不会自动链接到项目代码。

票数 1
EN

Stack Overflow用户

发布于 2010-02-05 23:36:17

首先,你是如何链接框架的?你不应该为了让它工作而创建一个符号链接。切换到您的测试包目标并打开Project->Edit Active Target。确保该库位于“常规”选项卡的“链接库”部分。如果是,请删除/重新添加它。这为我修复了类似的库链接问题。

票数 0
EN

Stack Overflow用户

发布于 2010-02-06 11:06:14

嘿,smokey_the_bear,你有没有检查过我的问题:

Linker Error: iPhone Unit Test Bundle referencing App classes

我必须指定捆绑包加载器才能正确链接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2137521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档