构建iOS静态库

4

我有一个静态库,它依赖于一些苹果框架,但是当我将其作为目标依赖项包含时,我仍然需要将它所依赖的框架添加到应用程序项目中。是否有一种设置项目的方式,使得依赖关系只需要在静态库目标中指定?

1个回答

2
虽然我相信这是可能的,但你真的不想那样做。如果你这样做,我不确定你能否被接受。静态库链接到动态库,符号不像.m文件一样包含在其中。这就是动态库的全部意义。
一个解决方案是使用xcconfig文件。
在这种情况下,您可以创建一个可共享的xcconfig文件,并将其与静态库一起使用。然后在应用程序项目中,您可以复制xcconfig文件并基于它来设置应用程序配置。 http://developer.apple.com/library/ios/#recipes/xcode_help-project_editor/Articles/BasingBuildConfigurationsonConfigurationFiles.html
OTHER_LDFLAGS = $(SHARED_LDFLAGS) -framework AssetsLibrary -framework AudioToolbox ...

是的,这差不多就是我想要的。我并不是真的想要静态链接动态库,只是希望应用程序项目不必手动添加它们,但这个配置文件似乎可以很好地工作。 - JoeyJ
根据这个问题,我创建了一个新的配置文件,并只添加了答案中提到的那一行。我正在构建的静态库成功编译,但我仍需要在使用我的静态库的应用程序项目中导入MapKit框架。 我做错了吗? - Gaurav Wadhwani
即使您链接了一个库,仍然需要导入相应的头文件。 - logancautrell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接