在Xcode 6和设备上运行测试

3
我将尝试在Xcode 6上运行单元测试,如果我在模拟器上运行它们(并且是7.1版本),它们可以正常运行。
其他条件会产生以下信息:
2014-10-10 01:39:56.190 MyApp[493:173988] Error loading    
/private/var/mobile/Containers/Data/Application/A6C42E86-0147-4447-A605- 
FF864C5BD0F7/tmp/MyAppTests.xctest/MyAppTests:  
dlopen(/private/var/mobile/Containers/Data/Application/A6C42E86-0147-4447-A605-
FF864C5BD0F7/tmp/MyAppTests.xctest/MyAppTests, 262): no suitable image found.  
    Did find:

/private/var/mobile/Containers/Data/Application/A6C42E86-0147-4447-A605-
FF864C5BD0F7/tmp/MyAppTests.xctest/MyAppTests: mmap() error 1 at address=0x006D0000, 
size=0x0001E000 segment=__TEXT in Segment::map() mapping
/private/var/mobile/Containers/Data/Application/A6C42E86-0147-4447-A605-
FF864C5BD0F7/tmp/MyAppTests.xctest/MyAppTests

怎样解决它?

我有完全相同的问题。你找到解决方案了吗? - Murray Sagal
是的!就在刚才,3分钟前!你真幸运!我放置了解决方案。 - Lena Bru
2个回答

1
我按照Lena Bru的步骤操作,但并没有解决我的问题。 后来我发现了这个问题,它与代码签名有关。 我检查了项目设置中的常规选项卡,发现“团队”设置为“无”。 选择一个团队后,我的测试就可以正常运行了。

我之后安装了多次Xcode,都没有出现这个问题。 - Lena Bru

0

首先,您必须确保测试目标中的调试符号设置如下:

enter image description here

然后确保您的测试目标编译源中没有任何不是测试的类,并且在测试目标的构建阶段中将您的应用程序目标作为目标依赖项

enter image description here

然后在测试目标的常规选项卡中,确保设置了测试应用程序,并且“允许测试主机应用程序API”中有一个复选标记。

enter image description here

最后但并非最不重要的是,您必须确保运行测试的设备未运行iOS 8.0(是的,八点零),7.1.2或8.1都可以 - 如果您的Xcode不支持8.1,则必须下载此支持 - 它已经通过xcode首选项中的下载部分提供。

enter image description here


我已经进行了相同的配置,但测试无法在设备上运行,只能在模拟器上运行。 - Murray Sagal
你的设备是否是 iOS 8.1? - Lena Bru
是的,所有设备都可以使用iOS 8.1。 - Murray Sagal
你能试着打开一个新项目,然后做这个 - 看看测试是否有效吗? - Lena Bru
在使用Xcode 6.1创建新的单视图应用程序时,出现了这个问题。测试无法在设备上运行,只能在模拟器上运行。 - Murray Sagal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接