2017-04-23 101 views
1

我有一个库项目(A)和一个金属库项目(M)。 M在“复制文件”阶段包含在A.这引入了构建依赖关系,这意味着我不能为模拟器构建A,因为它首先尝试构建M,并且模拟器上不支持Metal。如何在项目中包含金属库的同时在Xcode中进行单元测试

这很好,但问题是,包含一些单元测试,当我尝试测试的项目,我收到此错误信息,

Logic Testing Unavailable. Logic testing on iOS devices is not supported. You can only run logic tests on the Simulator.

但我不能打造为模拟器,因为前面提到的依赖...

我读https://medium.com/the-sup-app/bare-metal-working-with-metal-and-the-simulator-70e085e3a45 - 也许这可以帮助我消除模拟器A中M的依赖关系,但是我试图在没有Cocoapods的情况下完成,纯粹在Xcode中。

有没有解决方法?

回答

2

我在周末遇到了同样的事情。试图成为一名优秀的公民,并在我的金属项目中加入单元测试。 ;-)

这个catch-22的唯一出路就是不使用XCTest编写单元测试,而是创建一个单独的目标,作为一个独立的应用程序运行。这个新的目标然后运行单元测试。

在过去,我使用GHUnit,但我不知道现在是否有合适的替代品。

最糟糕的情况下,您可以编写自己的运行XCTest宏的小单元测试库。

+0

我也这么做了。我想这是最明智的解决方案。 – endavid

相关问题