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

时间:2015-10-09 19:13:32

标签: ios xcode alamofire watch-os-2 tvos

在同一个项目中是否有最好的方法可以同时使用Alamofire和AlamofireImage?

我在大多数项目中使用Alamofire,我非常喜欢" new" AlamofireImage框架,它使用Alamofire本身作为子模块。

如果我在我的项目中同时使用这两个框架作为兄弟姐妹,那么我最终会得到多个版本的Alamofire,重复方案等等。出于几个原因,我想将它们用作兄弟姐妹。< / p>

  1. AlamofireImage并不总是运行最新版本的Alamofire。
  2. 在向制作Carthage的人提出一些问题后,他们建议使用嵌套框架。 https://github.com/Carthage/Carthage/issues/816
  3. 有没有人可以在这里建议的最佳做法?我一直在努力解决这个问题并最终为Alamofire制定了一百万个计划,这让我有点疯狂。更不用说我在尝试使用迦太基时遇到的问题了。

    小注意:我在Git over Carthage atm中使用子模块,因为由于我在嵌套框架中遇到的错误而无法使用Carthage(我不想使用CocoaPods)因为我觉得它太复杂了,太快了。)

    感谢任何人给予的任何帮助或建议。

1 个答案:

答案 0 :(得分:3)

我最近在iOS项目中遇到了同样的困难。解决方案是参考AlamofireImage repo中的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