【问题标题】:iOS Unit Test target can't include host app's files that reference frameworksiOS 单元测试目标不能包含引用框架的主机应用程序文件
【发布时间】:2016-07-01 17:21:53
【问题描述】:

使用 XCode 7。拥有​​使用 3rd 方框架(旧式 xxx.framework,而非 iOS8 后动态框架)的应用。宿主应用包含使用语法的框架文件

<MyExternalFrameworkNameHere/SomeFile.h>

并且构建良好。我可以#include 使用主机应用程序中的(引用样式)文件,这些文件在单元测试目标.m 文件中使用任何外部框架,并且测试目标构建得很好。但是,当测试目标引用来自宿主应用程序的文件时,该文件本身包含第 3 方框架,测试目标无法构建,说它找不到标头。示例:

名为 SomeHeader.h 的主机应用标头:

#include <UIKit/UIKit.h> // OK
#include <MyExternalFrameworkNameHere/SomeFile.h> // doesn't like this in test target

XCTest 目标 AppTests.m:

#include "SomeHeader.h" //fails saying it cant find MyExternalFrameworkNameHere/SomeFile.h

如果测试目标直接包含有问题的外部框架文件,如下所示:

#include <SomeFile.h>

它有效,但这无济于事,因为我需要测试使用框架的主机应用程序代码,而不是框架本身。我在这里做错了什么?我尝试将外部框架添加到测试目标的 Link with binaries... 但这没有帮助。

【问题讨论】:

    标签: ios unit-testing xcode7


    【解决方案1】:

    发现问题。框架搜索路径有错字,并且单元测试目标的值与宿主应用程序目标的值不同

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多