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