为测试目标将“主机应用程序”设置为“无”,然后无法找到捆绑资源

时间:2016-07-20 09:05:40

标签: ios unit-testing storyboard xctest nsbundle

在将Host Application设置为none之前,我在单元测试中使用了这行代码,这对我没有任何问题。

undefined is not an object (evaluating mSensorManager.startAccelerometer)

将其设置为None后,我收到此错误。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];

我发现this post给了我解决方案。我只是像这样指定了我正在加载视图控制器的类的包。

<unknown>:0: failed: caught “NSInvalidArgumentException”, “Could not find a
storyboard named ‘Main’ in bundle NSBundle 
</Applications/Xcode.app/Contents/Developer/Platforms/
iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/Developer/usr/bin> (loaded)”

我只是想知道为什么会这样。当我删除导致主包中的资源被排除的主机应用程序时发生了什么?

1 个答案:

答案 0 :(得分:1)

没关系我弄明白了为什么。 mainBundle的文档说

  

返回与当前应用程序可执行文件所在目录对应的NSBundle对象。

由于我删除了Host Application,我的项目无法找到主bundle目录,因为没有应用程序可执行文件。