我如何在我的CocoaTouchFramework和我的应用程序中使用第三方框架?

我正在开发一个iOS应用程序和一个CocoaTouchFramework。 iOS应用程序依赖于框架。 我的目标是在我的CocoaTouchFramework中使用第三方框架(在这里是AlamoFire)。 根据这个堆栈溢出链接 ,不build议有一个框架embedded另一个框架。 我理解的方式是消费iOS应用程序(依赖于框架的应用程序)需要提供第三方依赖关系,并且我的框架可以引用该依赖关系。 但是我不知道如何在Xcode中设置它。 这是我目前在Xcode中设置的内容:

在这里输入图像说明

AlamoFireApp是实际的应用程序和AlamoFramework是我自己的框架,将使用AlamoFire执行各种networking请求。 我将AlamoFire依赖项embedded到应用程序中。 我现在如何在框架中使用AlamoFire? 我尝试链接到AlamoFire框架(添加Alamofire.framework)在链接二进制与库部分),但我总是得到没有这样的模块“AlamoFire”错误,当我尝试在我的框架的类中导入AlamoFire。

任何帮助表示赞赏。

@cbbcloud你可以使用阿拉莫火自己的cocoa豆荚。 你所要做的就是将它们作为pod规范的依赖项添加。 然后你可以导入使用框架来构build你的框架。

Pod::Spec.new do |s| s.name = 'YourFrameworkName' //other info s.dependency 'Alamofire' end 

如果你是新来的椰子树,请点击这个链接https://guides.cocoapods.org/making/index.html

好吧,我find了一个方法来做到这一点。 我能够通过将AlamoFire.Framework拖入Xcode中的框架(在这种情况下,AlamoFramework)来解决问题。 使这项工作的重要部分是检查“复制项目,如果需要”checkbox。

在这里输入图像说明

检查完成后,编译器可以parsingAlamofire模块,也没有链接器问题。 然而,这种方法似乎与罗布·内皮尔(Rob Napier)在回答这个问题时的build议相矛盾:

链接依赖关系的唯一适当时机是在应用程序层。

我没有做全职的iOS开发很长时间,所以如果有人有任何的投入,他们可以给予澄清这个问题,这将是伟大的。 但是现在我的问题已经解决了,所以我可以继续发展。