Cordova 科尔多瓦+;xC测试结果在';架构i386和x27的未定义符号;

Cordova 科尔多瓦+;xC测试结果在';架构i386和x27的未定义符号;,cordova,i386,xctest,Cordova,I386,Xctest,当我尝试将XTest与Cordova项目集成时,我遇到了一个错误。它发生在一个全新的cordova应用程序中,没有定制。只需添加XCTest,测试就会失败,并出现以下错误: Undefined symbols for architecture i386: "_CGRectZero", referenced from: +[CDVUserAgentUtil originalUserAgent] in libCordova.a(CDVUserAgentUtil.o) "_OBJC

当我尝试将XTest与Cordova项目集成时,我遇到了一个错误。它发生在一个全新的cordova应用程序中,没有定制。只需添加XCTest,测试就会失败,并出现以下错误:

Undefined symbols for architecture i386:
  "_CGRectZero", referenced from:
      +[CDVUserAgentUtil originalUserAgent] in libCordova.a(CDVUserAgentUtil.o)
  "_OBJC_CLASS_$_ALAssetsLibrary", referenced from:
      objc-class-ref in libCordova.a(CDVURLProtocol.o)
  "_OBJC_CLASS_$_CLLocation", referenced from:
      l_OBJC_$CATEGORY_CLLocation$_JSONMethods in libCordova.a(CDVShared.o)
  "_UTTypeCopyPreferredTagWithClass", referenced from:
      ___30-[CDVURLProtocol startLoading]_block_invoke in libCordova.a(CDVURLProtocol.o)
  "_kUTTagClassMIMEType", referenced from:
      ___30-[CDVURLProtocol startLoading]_block_invoke in libCordova.a(CDVURLProtocol.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我试着移除i386架构,但没有任何效果,还有很多其他的东西,但这个却让我不知所措

有什么想法吗?提前谢谢

编辑: 我忘了注意到项目构建非常好,但是运行测试[通过产品->测试]会导致这些错误。

找到了它

您必须将每个框架添加到所需的测试目标中。就我而言,我需要补充:

CoreLocation.framework
AssetsLibrary.framework
CoreGraphics.framework
MobileCoreServices.framework
之后,单元测试如预期般失败