一、报错
- 报错内容大致如下
/xxxx/xxx.xcodeproj 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( 好坑啊 )
三、解决
- 这里提供三套方案,前两套比较简单,修改主项目配置即可;第三套是
Apple建议的方法,也就是重新打包framework为XCFramework
3.1 Validate WorkSpace
-
启用
Validate WorkSpace,让XCode对frameworks进行自动化管理 -
打开项目路径 -
Build Setting > Build Options > Validate WorkSpace

-
Validate WorkSpace设置为true

不建议使用,只能做暂时方案,万一哪天
Apple不开心又把Validate WorkSpace逻辑改了呢?
3.2 Build System
- 修改编译系统为以前的系统
- 打开
Files > WorkSpace Setting > Build System

- 设置
Build System如下

不建议使用,总不能一直使用以前的构建系统吧?以后
WWDC推出新功能了,还是得用新系统,旁边苹果的Deprecated注释也说明了这点
3.3 Apple 建议方案
- Apple 官方对这个错误做了回复:


- 总结成一句话: 使用
XCFramework
转自:http://okgoes.cn/blog/detail?blog_id=25339
浙公网安备 33010602011771号