xcodeproj 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建議的方法,也就是重新打包 frameworkXCFramework

3.1 Validate WorkSpace

  • 啟用 Validate WorkSpace ,讓 XCodeframeworks 進行自動化管理

  • 打開項目路徑 - 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM