2011-10-22 36 views
4

我有一个静态库,依赖于某些Apple框架,但是当我将它作为目标依赖项包含在内时,我仍然需要将它依赖的框架添加到应用程序项目中。有没有一些方法来设置项目,以便只需要在静态库目标中指定依赖关系?构建iOS静态库

回答

2

虽然我确定它是可能,你真的不想这样做。如果你这样做,我不确定你能否接受。静态库链接到动态库,这些符号不包含在.m文件中。这是动态库的重点。

一个解决方案是使用xcconfig文件。

http://developer.apple.com/library/ios/#recipes/xcode_help-project_editor/Articles/BasingBuildConfigurationsonConfigurationFiles.html

在这种情况下,你创建伴随静态库中的共享文件xcconfig。然后在您的应用程序项目中,您复制xcconfig文件并在其上应用程序配置。

OTHER_LDFLAGS = $(SHARED_LDFLAGS) -framework AssetsLibrary -framework AudioToolbox ... 
+0

是的多数民众赞成或多或少我在找什么。我没有真正的意思是静态链接动态库,只是应用程序项目不需要手动添加它们的一种方式,但是这个配置文件看起来好像可以工作得很好 – JoeyJ

+0

在这个问题之后,我创建了一个新的配置文件并添加了答案中提到的那一行。我正在构建的静态库成功编译,但我仍然必须在使用我的静态库的应用程序项目中导入MapKit框架。我做错了吗? –

+0

即使您链接到一个库,您仍然必须导入适当的头文件。 – logancautrell