使用外部添加的依赖关系构建Cocoa Touch Framework

时间:2018-07-29 13:46:44

标签: ios objective-c cocoa cocoa-touch ios-frameworks

我创建了一个Cocoa-Touch-Framework(我们将其称为MyFmk),该框架使用第三方框架(称为thirdPartyFmk)作为依赖项。

当前,我正在通过在Xcode的Linked Frameworks and Libraries部分中添加第三方框架来使用它。它运行良好,并且使用MyFmk的我的应用程序可以正确构建并完成其打算要做的事情。

但是我不想用其中的thirdPartyFmk构建MyFmk。我希望我的应用程序同时包含MyFmk和thirdPartyFmk,因为它们具有依赖性。目前,我无法执行此操作。如何在不将ThirdPartyFmk添加到Linked Frameworks and Libraries部分的情况下编译MyFmk?

基本上,我想做的是this,如本文的“如何在我的框架中包括第三方库”部分所述

使用谷歌搜索无法产生任何结果,因此我不确定是否已经提出了此要求。

PS:我不希望使用cocoapods构建MyFmk,因为我不希望.m文件可见

1 个答案:

答案 0 :(得分:0)

您需要做很多Build Phases详细工作才能做到这一点。

您的应用程序如下所示:

  • MyApplication.app
    • MyFramework.framework
      • ThirdParty.framework

MyFramework.framework中,确保ThirdParty.frameworkTarget Dependencies目标的Build Phase MyApplication.app中,并且MyApplication.app取决于{{1 }}。这将确保在构建时一切都刷新。

MyFramework.framework目标中,您需要将MyApplication.appMyFramework.framework都添加到ThirdParty.framework Copy Frameworks

最后,请确保Build PhaseMyFramework.framework上的Runtime Search Path@executable_path/../Frameworks上的macOS上具有正确的@executable_path/Frameworks iOS在运行时。