一、報錯
- 報錯內容大致如下
/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
