错误信息
项目集成一个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帮助文档