我有一个Xcode工作区,其中包含一个带有iOS应用程序目标的项目以及另一个带有Framework目标的项目。框架目标依赖于另一个框架,该框架以xcframework的形式集成:

  • MyApp
  • MyFramework
  • 其他框架

  • 使用常规的OtherFramework.framework将要求将其链接到MyFramework,然后将其嵌入MyApp中,即使MyApp不需要框架本身也是如此。但是,当与xcframework集成时,此项目将无法构建,并出现No such module 'OtherFramework'错误。
    项目设置:
    MyFramework Project
    MyApp Project
    OtherFramework.xcframework目标中删除MyApp可以解决构建问题,但是由于该应用程序中没有该框架,因此会导致library not loaded错误。
    此处的演示项目:https://github.com/msaps/XCFramework-Link-Issue
    您打算如何在应用程序中链接xcframework并在依赖框架中链接?
    为什么?
    pyckamil刚刚发布了这篇文章,详细解释了这个问题:Everything wrong with XCFrameworks
    事实证明,Xcode对ProcessXCFrameworkLibrary步骤进行了优化,该步骤可为事件构建体系结构从.framework中提取正确的.xcframework。此操作仅运行一次,这会导致尝试链接同一框架的其他目标产生问题。
    更新
    在Xcode 12.0中解决了此问题

    最佳答案

    更新-在Xcode 12.0中解决
    shinsuk提出了一种可靠的解决方法,该方法通过添加体系结构明确的框架搜索路径来确保在XCFramework中找到正确的.framework来工作。
    可以在README中找到详细信息。
    ios - 将XCFramework嵌入到具有项目框架依赖性的应用程序中-LMLPHP

    10-01 22:44