Cordova + XCTest导致'未定义的架构i386符号'

 邵crnich 发布于 2023-02-13 09:17

当我尝试将XCTest与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架构无济于事和其他一些东西,但是这个正在逃避我.

有什么想法吗?提前致谢!

编辑:我忘了注意项目构建完美,但运行测试[通过产品 - >测试]会导致这些错误.

1 个回答
  • 找到了.

    您必须将每个框架添加到您需要的测试目标中.在我的情况下,我需要添加:

    CoreLocation.framework
    AssetsLibrary.framework
    CoreGraphics.framework
    MobileCoreServices.framework
    

    之后,单元测试按预期失败.

    2023-02-13 09:22 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有