1. 程式人生 > 其它 >Xcode Building for , but the linked and embedded framework was built for iOS + iOS Simulator

Xcode Building for , but the linked and embedded framework was built for iOS + iOS Simulator

錯誤資訊

專案整合一個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 Options > 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幫助文件