我在物理设备上运行单元测试目标时遇到了问题(在我的情况下是iOS 8.1的iPhone 6)。为此,我创建了一个全新的iOS Xcode项目,打开并使用Cmd + U(Product -> Test)运行测试。应用程序编译成功并要求我输入我的代码签名凭据。应用程序甚至在设备上打开了。到这里一切正常。
但是测试从未运行,Xcode在“测试”中卡了几分钟,最后退出,并显示以下消息:
但是测试从未运行,Xcode在“测试”中卡了几分钟,最后退出,并显示以下消息:
*** Canceling tests due to timeout in Waiting for test process to check in...
控制台会抛出一些代码签名错误或类似的错误:
2014-10-30 08:54:12.585 Test[4721:1298810] Error loading /private/var/mobile/Containers/Data/Application/B727E18E-48BC-4A7E-BDBA-19157ED5A4AC/tmp/TestTests.xctest/TestTests:
dlopen(/private/var/mobile/Containers/Data/Application/B727E18E-48BC-4A7E-BDBA-19157ED5A4AC/tmp/TestTests.xctest/TestTests, 262): no suitable image found.
Did find: /private/var/mobile/Containers/Data/Application/B727E18E-48BC-4A7E-BDBA-19157ED5A4AC/tmp/TestTests.xctest/TestTests:
code signature invalid for '/private/var/mobile/Containers/Data/Application/B727E18E-48BC-4A7E-BDBA-19157ED5A4AC/tmp/TestTests.xctest/TestTests'
DevToolsBundleInjection: Error loading bundle '/private/var/mobile/Containers/Data/Application/B727E18E-48BC-4A7E-BDBA-19157ED5A4AC/tmp/TestTests.xctest'
我真的不明白,这个应用程序已经正确签名了,但我猜测注入的测试库没有签名。
有人知道如何解决吗?或者这是否意味着我们只能在模拟器中进行测试?
我一直在测试的项目可在我的GitHub上找到:https://github.com/Legoless/StackOverflow/tree/master/Objective-C/TestTargetFailure
谢谢。
DevToolsBundleInjection: Error loading bundle '/private/var/mobile/Containers/Data/Application/4CF4CAA8-281B-41D0-8E13-5F0DA7C451C0/tmp/SampleAppTests.xctest'
。 - Murray Sagal