我正在为 iOS 构建一个框架,我的框架将 AFNetworking 作为依赖项。
那么包含 AFNetworking 的最佳实践是什么?阅读其他帖子(特别是这个问题 here )我想出了三个选项:

  • 将 AFNetworking 中的所有 .h.m 文件复制到我的项目中,并用它编译我的框架。但是根据 this ,它可能会导致某些使用我的框架的第三方开发人员已经在使用 AFNetworking 的情况,并且会得到一个编译时错误,某些类被声明了两次。
  • 使用 CocoaPods 并将 AFNetworking 链接到我的框架。这会导致此错误:-lPods 不是目标文件(库中不允许)。
  • 构建类似 Aeris SDK 的东西,使用我的框架的第三方开发人员将负责将 AFNetworking 添加到他们的项目中。

  • 我认为选项 3 是最好的,但我不知道该怎么做。我如何开发我的框架调用 AFNetworking 类/方法但不包括在最终的框架产品中?

    谢谢!

    最佳答案

    在您的库中使用第三方库是一种非常糟糕的做法。
    理想情况下,您应该避免这样做。

    但是如果你真的需要它,你可以定义和添加前缀到类名。
    引用这篇文章 Avoiding dependency collisions in iOS static library managed by CocoaPods

    关于iOS 框架构建 : what is the best practice to link with third-party libraries?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27190020/

    10-16 00:40