我正在开发iOS应用程序和CocoaTouchFramework。 iOS应用程序取决于框架。我的目标是在我的CocoaTouchFramework中使用第三方框架(在本例中为AlamoFire)。根据这个Stack Overflow link,不鼓励框架嵌入另一个框架。我理解它的方式是消费的iOS应用程序(依赖于框架的应用程序)需要提供第三方依赖项,并且我的框架可以引用该依赖项。我不知道如何在Xcode中设置它。以下是我目前在Xcode中设置的内容:
AlamoFireApp是实际的应用程序,AlamoFramework是我自己的框架,它将使用AlamoFire执行各种网络请求。我将AlamoFire依赖项嵌入到App中。我现在如何在框架中使用AlamoFire?我已尝试从Link Binary With Libraries部分的Framework(添加Alamofire.framework)中链接到AlamoFire但我总是得到没有这样的模块' AlamoFire' 我尝试在我的框架类中导入AlamoFire时出错。
感谢任何帮助。
答案 0 :(得分:0)
@cbbcloud你可以使用阿拉莫火来制作你自己的可可豆荚。您所要做的就是将它们作为pod规范中的依赖项添加。然后你可以导入使用框架来构建你的框架。
Pod::Spec.new do |s|
s.name = 'YourFrameworkName'
//other info
s.dependency 'Alamofire'
end
如果您是cocoapods的新手,请点击此链接 https://guides.cocoapods.org/making/index.html
答案 1 :(得分:0)
好的,我找到了办法。我能够通过将AlamoFire.Framework拖入Xcode中的框架(在本例中为AlamoFramework)来解决问题。使这项工作的重要部分是选中“如果需要,复制项目”复选框。
检查完成后,编译器可以解析Alamofire模块,也没有链接器问题。然而,这种方法似乎与Rob Napier在回答this question时的建议相矛盾:
链接依赖项的唯一合适时间是在应用程序层。
我还没有进行足够的全时iOS开发,所以如果有人有任何意见可以让他们解决这个问题,那就太好了。但是我的问题现在已经解决,所以我可以继续开发。