使用外部添加的依赖项构建 Cocoa Touch 框架



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

目前,我正在使用第三方框架,将其添加到Xcode的Linked Frameworks and Libraries部分中。它构建得很好,我的使用 MyFmk 的应用程序可以正确构建并执行它打算做的事情。

但我不想在里面用第三方Fmk构建MyFmk。我希望我的应用程序同时包含MyFmk和第三方Fmk,因为它的依赖项。目前我无法做到这一点。如何在不将第三方Fmk添加到Linked Frameworks and Libraries部分中的情况下编译MyFmk?

基本上,我想做的是这个,如文章的"如何在我的框架中包含第三方库"部分所述。

谷歌搜索没有产生任何结果,所以我不确定这已经问过了。

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

你需要做很多Build Phases细节工作来实现这一点。

您的应用程序如下所示:

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

MyFramework.framework确保ThirdParty.framework处于MyApplication.app目标的Target DependenciesBuild Phase中,并且MyApplication.app取决于MyFramework.framework。这将确保在构建时刷新所有内容。

MyApplication.app目标中,您需要将MyFramework.frameworkThirdParty.framework添加到Copy FrameworksBuild Phase

最后,确保MyFramework.framework具有正确的Runtime Search Path@executable_path/../FrameworksmacOS@executable_path/FrameworksiOS,以便它可以在运行时找到ThridParty.framework

最新更新