2012-02-10 62 views
2

我创建了一个可可触摸静态,使用标准的Apple框架,如MediaPlayer.framework和CoreData.framework。当我将我的主项目链接到这个静态库时,它会抛出错误,因为这个库需要这些框架。可可触摸静态库 - 与标准框架的链接

我的问题:有没有办法将静态库设置为链接到这些框架,所以我不需要将它们添加到我的主项目?我试图将框架添加到静态库的“Link Binary with Libraries”构建阶段,但主项目仍然适合。

有可能某种生成设置标志我失踪。

回答

1

不,不幸的是没有办法做到这一点。您必须将您的主项目与图书馆使用的框架相链接。

+0

虽然我很容易相信这从我的经验,GData静态库似乎以某种方式实现了这一点。有些库被封装在它们的静态库中,编译时必须包含这些库,因为我的主项目不需要在添加GData和链接时添加它们。 http://code.google.com/p/gdata-objectivec-client/ – MobileOverlord 2012-02-10 17:19:05

+0

经过进一步调查后,GDataFramework目标似乎将这些框架包含在“Link Binary with Libraries”构建阶段,但GDataTouchStaticLib不包含这些库。考虑到该框架有多个目标,对于iOS和Mac OS,它们必须能够在Framework级别执行此操作,而不是在可可静态库级别执行此操作。感谢您的意见。 – MobileOverlord 2012-02-10 17:23:26

+0

我一般不了解MacOS框架,但GData包含一个项目中的所有文件,即使他们说*该库包含其他具有GTM前缀的Google库*他们所做的是他们基本上将源文件添加到GData项目。如果你看看框架目标,它只链接到** Security **和** SystemConfiguration **,没有任何子模块既不链接到框架也不链接到静态库目标。 – lawicko 2012-02-10 17:36:04