iOS – 从发布版本中排除testing文件

在开发iOS应用程序时,我需要在预加载的数据库上运行unit&uitesting。 所以,我打算只包含在应用程序中预加载的数据库文件进行DEBUG构build,因为UI /unit testing只能用DEBUG构build运行。 我怎样才能从发布版本中排除数据库文件?

目前我可以检测主机应用程序是否运行testing或不使用以下方式,

https://stackoverflow.com/a/33466038/1084174 ,

但是如何使用这种技术排除和包含database.db呢?

一点指导将真正赞赏。

这样做的标准方法是在Xcode中创build一个新的Target用于debugging。 然后可以在文件上使用目标select器

文件目标

在这里你可以看到我有一个源文件,包含在我的主要目标中,但不包含在我的消息扩展中。 这将出现在屏幕右侧的“实用程序”窗格中。 您可以通过在debugging目标中包含一个文件来达到相同目的,但不能释放(反之亦然)。

最后我解决了这个问题。

  1. 打开你的项目文件。 在屏幕底部,点击添加生成设置 – >添加用户定义设置,并将其命名为EXCLUDED_SOURCE_FILE_NAMES。

  2. 点击EXCLUDED_SOURCE_FILE_NAMES左侧的箭头展开它。 在此variables的Releaseconfiguration中,添加libTestFlight.a以及任何其他您希望排除的文件(以空格分隔)。