【发布时间】:2012-09-12 12:34:48
【问题描述】:
我创建了一个 XCode 项目,其中包含 2 个目标和我在两个目标中实现的静态库。我的静态库的某些类需要根据我编译的目标略有不同。
我不知道如何正确地做到这一点。 有什么想法吗?
谢谢
【问题讨论】:
-
您不能在编译时使用静态库来执行此操作,因为它就是静态库。它不关心您在使用它的产品中所针对的平台。时期。如果您确切地告诉我们您需要做什么,我们可能会想出一个运行时解决方案。
-
将静态库分离到另一个 Xcode 项目中,在这个新的 Xcode 项目中创建两个目标并根据这两个目标更改行为。并在您的原始项目中设置不同的目标依赖项和链接。以 SDWebImage (github.com/rs/SDWebImage) 为例 - 有两个目标 SDWebImage 和 SDWebImage ARC,这些目标生成两个不同的静态库(libSDWebImage.a 和 libSDWebImageARC.a)来链接。
-
我喜欢在我的静态库中创建多个目标的想法 :-)。谢谢@RobertVojta
-
您可以将目标之间需要不同的库部分分离到不同的库中,并构建两个版本的新库。
标签: objective-c static-libraries xcode4.4