iOS8框架库链接WITHOUT Pods

时间:2015-05-11 06:36:13

标签: ios objective-c xcode6 cocoapods ios-frameworks

想象一下以下场景;

我正在开发一个需要SomeLibrary的可可触摸框架(例如AFNetworking)。我的框架将被包含在可能需要SomeLibrary的某人的项目中。 当我直接将AFNetworking包含到我的框架中时(通过源代码或Cocoapods),如何在不遇到这些讨厌的重复警告的情况下完成此操作?

我已经在两个项目(我的框架和包含我的框架的测试项目)上使用Cocoapods尝试过,但这也会导致重复的代码警告。

当我没有将AFNetworking添加到我的框架开发项目中时,编译器找不到所需的文件,这就是我无法构建它的原因。我尝试将AFNetworking的源代码直接包含在主项目中,并使用pod,但在这两种情况下,框架项目中的AFNetworking / AFNetworking.h导入失败。

如果不将pod添加到我的框架中(这不是一个真正的选项),我怎么能这样做呢?

我找到了相关的答案,但我不知道为框架项目设置什么样的搜索路径,以便找到主项目的库; https://stackoverflow.com/a/23123725/1069487

任何帮助都将受到高度赞赏!

1 个答案:

答案 0 :(得分:0)

您必须构建与静态库链接的框架。

  1. 您将AFNetworking构建为静态库(将为您提供.a文件作为AFNetworking.a)
  2. 您构建了与静态库链接的框架。但请注意,库不会嵌入到您的框架中(在iOS上无法将静态库包含到框架中)。您的框架能够使用AFNetworking API,因为它与之链接。
  3. 任何使用您的框架并使用框架的AFNetworking方法的项目都需要链接到您应该作为框架旁边的独立文件提供的静态库AFNetworking.a。
  4. 有关详细信息,请参阅此处的iOS-Framework:https://github.com/jverkoey/iOS-Framework