我有一个想要分发的 Cocoa 框架。对于不想将其作为子模块引入并自己构建的人,我想提供一个预构建版本:ECLogging.framework。
问题在于该框架具有具有不同行为的 Debug/Release 变体(不仅仅是不同的编译器选项,还可能实际执行不同的代码)。
分发这个以及人们设置他们的 Xcode 项目的最惯用的方式是什么?
我希望人们能够做到 #import ,所以我不能将框架的调试版本重命名为 ECLoggingDebug.framework (例如)。
所以我可以在这样的文件夹中给他们框架:ECLogging/Debug/ECLogging.framework Release/ECLogging.framework
然后,人们很容易设置一个框架搜索路径 ECLogging/$(CONFIGURATION)/,它将选择正确的路径。
这在编译和链接期间工作正常,但您还需要将正确的版本嵌入到构建的应用程序中。
在 Copy Files 阶段(进行嵌入的正常方式),Xcode 想知道它到底在哪里,我认为我无法以某种方式使用环境变量来告诉它。
当然,我可以编写一个脚本,它只是复制它。我对此很好,但必须要求框架的用户这样做似乎很笨拙。
有没有更好的办法?