Xcode Building for , but the linked and embedded framework was built for iOS + iOS Simulator

错误信息

项目集成一个SDK后报错

…………Building for iOS, but the linked and embedded framework ‘xxx.framework’ was built for iOS + iOS Simulator.

报错原因

  • WWDC 2019 推出 XCFramework 启,其实 XCode 11 开始就会有这个问题,但在 XCode 11 上一直是 warning 也就没太注意
  • XCode12.3 开始,针对类似于 iOS + iOS Simulator 这种多平台的包,强制使用 XCFramework 架构,否则 error

解决方案

修改 Validate WorkSpace 为 YES

路径 Build Setting > Build Settings > Validate WorkSpace

Validate WorkSpace 设置为 YES

不建议使用,只能做暂时方案,万一哪天 Apple 不开心又把 Validate WorkSpace 逻辑改了呢?

修改 Build System 为 Legacy Build System (Deprecated)

路径 Files > WorkSpace Setting > Build System

设置 Build System 如下

不建议使用,总不能一直使用以前的构建系统吧?以后 WWDC 推出新功能了,还是得用新系统,旁边苹果的 Deprecated 注释也说明了这点

生成 XCFramework (推荐)

参考 ReadMore 中的内容

ReadMore

本文内容搬于
升级XCode12.3报错 Building for , but the linked and embedded framework was built for iOS + iOS Simulator
Apple XCFramework教程
Apple XCFramework帮助文档

posted @ 2021-07-26 10:32  1lin24  阅读(1118)  评论(0编辑  收藏  举报