我应该如何处理静态库中的依赖项?

时间:2015-05-14 07:10:35

标签: ios objective-c xcode static-libraries

我编写了一个静态库,它与Web服务连接,供多个项目内部使用。

这个库大量使用AFNetworking,但使用该库的项目也是如此。如果我在库中包含AFNetworking

我遇到重复的符号错误,但是如果我从库中删除AFNetworking,它将无法编译。

我该如何解决这种依赖?

编辑:我的项目位于GIT存储库中。无论我做什么,其他开发人员应该能够拉动项目并成功编译(除非我错了,我不应该这样)。

3 个答案:

答案 0 :(得分:1)

最简单的解决方案是重命名AFNetworking Classes。

转到afnetwork的每个.m文件,点击班级名称,然后点击编辑 - >重构 - >重命名 。大约有10个文件。它不会花很长时间。

PS:一个好的做法是在你的图书馆首字母前加上,例如,如果您的图书馆名称是MyLibrary,您可以重命名AFNetworking类,如 MyLibAFNetworking ... MyLibAFHTTP ....

答案 1 :(得分:1)

使用Cocoapods,你可以添加AFNetworking的依赖项,它会自动添加库,一切都会像魅力一样。 https://cocoapods.org/

答案 2 :(得分:0)

复制AFNetworking项目的文件,并将它们作为库的文件添加到项目中。换句话说,

  • 右键单击项目中的任何AFNetworking文件,然后在Finder中显示。
  • 选择所有AFNetworking文件。
  • 将它们拖到您的图书馆项目中,然后将其删除。
  • 当出现弹出窗口时,请确保选中复制项目(如果需要)。

干杯!