2013-03-20 93 views
1

我正在构建将使用自定义Web API的应用程序。我想为应用程序单独创建一个此API的Objective-c适配器。我正在考虑将其作为一个静态库来完成。使用静态库和应用程序管理依赖关系

因此,例如MyAppAPI将是一个静态库,MyApp将与此库链接。

MyAppAPI需要AFNetworking才能访问Web API。但是MyApp由于其他原因还需要AFNetworking。

我希望能够通过单元测试来测试MyAppAPI单机版。为了测试它,静态库项目需要AFNetworking。但我不希望AFNetworking与MyAppAPI编译,我希望这是一个外部依赖。

因此,事实上MyAppAPI和MyApp都依赖于AFNetworking,我希望能够独立地测试MyAppAPI。

解决这种情况的最好方法是什么?我可能会错过某些明显的东西。

回答

0

看看CocoaPods。他们负责XCode项目的依赖管理,并拥有一个中央存储库(包括AFNetworking)。

http://cocoapods.org你可以找到所有的信息入门。

+0

我为此目的评估了CocoaPods,但事实证明它只对完成的依赖项有用。 当同时开发多个项目时,需要灵活性来构建具有唯一一组依赖关系的顶级父项;同时仍然能够为单元测试编译子项目。我还没有找到解决方案,但很明显这是一个常见的用例。也许在链接器阶段识别并删除重复的符号是更简单的方法。 – 2013-06-20 15:51:37