Xcode创建通用框架作为通用框架的依赖

时间:2014-08-07 20:33:39

标签: xcode ios-universal-framework

目前,当我分发我的通用框架时,我必须在Build Stses - Link Binary With Libraries中分发我的Universal Frameworks。我想将所有内容捆绑到一个整洁的通用框架中,这样我的用户就可以轻松链接到我的通用框架,而不需要打扰其他人。

我正在尝试"将其他两个通用框架嵌入到我的通用框架中。我在此处遵循此教程:Developing the Framework as a Dependent Project

这是我的项目结构图。注意框架下的两个项目:

Project Structure

我已将项目目标添加到目标依赖项,并且我已将链接二进制文件中的.a文件链接到库中。我能够构建没有错误的依赖项目。

enter image description here

  1. 当我尝试构建我的主要通用框架时,遇到的第一个问题是它找不到我已添加到Build Phases - Copy Files部分的Header文件。但是,我确实将它们添加到了Aggregate目标而不是Project目标,这是配置其他依赖项目的方式,它似乎与Headers没有问题。
  2. enter image description here enter image description here

    如果我解决了这个问题,主要的通用框架可能会产生正确的输出。现在,它没有产生预期的产品(Debug-iphoneos,Debug-iphonesimulator和Debug-iphoneuniversal)。请参阅下面的更多评论。

    enter image description here

    您可以看到产品仅包含Debug-iphoneos,而.frameworks未列在那里,但.a库文件是。


    编辑:新方向

    我在这里被撕裂了。在上面的代码中,说明向您展示了如何将依赖的Frameworks添加到项目的Frameworks文件夹中。但是在进一步阅读后,我会看到一些人创建工作区并将依赖项目添加到与主项目相同的级别,如下所示:

    Workspace example

    我设法让所有三个项目都可以构建,但配置非常脆弱。我尝试进行更改以指向Header文件的公共文件夹described in these instructions,但构建开始失败。我已经退出了这个改变,并且构建再次正常运行。

    我将继续为此继续战斗,但我很乐意听到已经做过这件事的人并让它继续工作。

1 个答案:

答案 0 :(得分:1)

我最终选择了第一个选项,将Universal Frameworks嵌入到主要的Universal Framework中。我一直在使用上面提到的教程(https://github.com/jverkoey/iOS-Framework)。这并不容易,但经过几天多次工作后,我终于掌握了它并让它运转起来。

Jeff Verkoeyen的精彩教程!

我创建的唯一区别是我没有将嵌入式框架放在应用程序中。相反,我把它们放在另一个通用框架中。当我尝试在应用程序中使用它时,我必须进行一些小的调整才能使它工作。 但它工作!!! : - )