Building for iOS, but the linked and embedded framework ‘xxx.framework’ was built for iOS + iOS Simulator.
一、報錯
報錯內容大致如下
/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
- 修改編譯系統(tǒng)為以前的系統(tǒng)
- 打開
Files > WorkSpace Setting > Build System
不建議使用窗宦,總不能一直使用以前的構建系統(tǒng)吧?以后 WWDC 推出新功能了二鳄,還是得用新系統(tǒng)赴涵,旁邊蘋果的 Deprecated 注釋也說明了這點
3.3 Apple 建議方案
Apple 官方對這個錯誤做了回復:
總結成一句話: 使用
XCFramework