在同一个项目中使用 Alamofire 和 AlamofireImage

Posted

技术标签:

【中文标题】在同一个项目中使用 Alamofire 和 AlamofireImage【英文标题】:Using Alamofire and AlamofireImage in the same project 【发布时间】:2015-10-09 19:13:31 【问题描述】:

有没有在同一个项目中同时使用 Alamofire 和 AlamofireImage 的最佳方法?

我在我做的大多数项目中都使用 Alamofire,我真的很喜欢“新”的 AlamofireImage 框架,它使用 Alamofire 本身作为子模块。

如果我在我的项目中将这两个框架都用作兄弟,那么我最终会得到多个版本的 Alamofire、重复方案等。出于几个原因,我想将它们用作兄弟。

    AlamofireImage 并不总是运行最新版本的 Alamofire。 在向制作 Carthage 的人提出一些问题后,他们建议不要使用嵌套框架。 https://github.com/Carthage/Carthage/issues/816

这里有没有人可以建议的最佳做法?我一直在努力解决这个问题,最终为 Alamofire 制定了一百万个计划,这让我有点抓狂。更不用说我在尝试使用 Carthage 时遇到的问题了。

小提示:我在 Git 中通过 Carthage atm 使用子模块,因为我无法使用 Carthage,因为我在使用嵌套框架时遇到了错误(而且我不想使用 CocoaPods,因为我觉得可能会变得太复杂、太快)。

感谢任何人提供的任何帮助或建议。

【问题讨论】:

您的问题在于您对“不使用 CocoaPods”的偏好。如果您要添加 FacebookSDK、Fabric/TwitterKit、GoolgeAnalytics 和其他框架,您将花费数小时(甚至数天)来配置项目。我建议你开始使用 cocoapods。 @IurieManea 很抱歉,但我认为这无效。必须有一些不使用 CocoaPods 的最佳实践。否则 CocoaPods 将成为一切的默认设置,而不仅仅是针对其他形式的依赖管理器的选项。 【参考方案1】:

我最近在我的 ios 项目中遇到了同样的困难。解决方案是参考 AlamofireImage 存储库中的 Alamofire 框架。

这是完成这项工作的分步指南

git 设置

XCode 应该关闭。 cd 到你的项目目录 将 AlamofireImage 作为 git 子模块添加到您的 repo (git add submodule AlamofireImageLink) 现在,有两个选项可确保正确初始化子模块 在克隆时使用“--recursive”标志重新克隆项目存储库,以确保正确下载子模块 cd 进入 AlamofireImage 并运行 git init 和 git update。 cd 进入 AlamofireImage/Alamofire 并运行 git init 和 git update。

XCode 设置

在 XCode 中重新打开项目 在项目构建设置中添加 AlamofireImage 和 AlamofireiOS 作为嵌入/链接的二进制文件。 AlamofireiOS 将被称为 INSIDE Alamofire 确保将 AlamofireImage 和 AlamofireiOS 构建设置设置为项目的目标部署(可能是 iOS 9.1) 确保两者都在右侧边栏中将引用设置为“相对于组” 可能需要删除导航器中的红色 Alamofire 框架引用。

请随时查看我的设置以获取指导: https://github.com/Matt--King/HearthStoneFlashbacks

【讨论】:

以上是关于在同一个项目中使用 Alamofire 和 AlamofireImage的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 Alamofire 4.5 在本地连接到自签名证书保护的 Nginx

从后台获取调用时,Alamofire 不工作

哪个是 xcode 7.2 支持的 alamofire 对象映射器和 alamofire pod 版本

在同一个项目中使用 Alamofire 和 AlamofireImage

从 alamofire swift 的 tableview 单元格中的 url 加载图像

为我可以用来操作 JSON 的 Alamofire 创建回调