我创建了一个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 Dependencies
Build Phase
中,并且MyApplication.app
取决于MyFramework.framework
。这将确保在构建时刷新所有内容。
MyApplication.app
目标中,您需要将MyFramework.framework
和ThirdParty.framework
添加到Copy Frameworks
Build Phase
。
最后,确保MyFramework.framework
具有正确的Runtime Search Path
@executable_path/../Frameworks
macOS
或@executable_path/Frameworks
iOS
,以便它可以在运行时找到ThridParty.framework
。