SwiftyDropbox 与 Alamofire 问题

Posted

技术标签:

【中文标题】SwiftyDropbox 与 Alamofire 问题【英文标题】:SwiftyDropbox with Alamofire issue 【发布时间】:2018-09-12 12:55:52 【问题描述】:

我的 Podfile 中有以下行:

  pod 'Alamofire', '~> 4.7' 

问题是当我添加“pod SwiftyDropbox”行时,运行 pod update 时出现问题:

分析依赖关系

[!] CocoaPods could not find compatible versions for pod "Alamofire":

In Podfile:

Alamofire (~> 4.7)



SwiftyDropbox was resolved to 2.0.1, which depends on

  Alamofire (~> 2.0.2)

此外,Alamofire 和 SwiftyDropbox 框架中都有警告。如何让最新版本的 SwiftyDropbox 在 XCode 9.3 和 Swift 4 中运行?

【问题讨论】:

最后一个 SwiftyDropbox (4.6.0) 有 s.dependency 'Alamofire', '~> 4.5.0',所以你应该使用那个 Alamofire 版本。但奇怪的是你得到的是 SwifityDropbox 的 2.0.1 而不是 4.6.0 的。您不应该能够使用同一个 pod 的不同版本,您需要在使用同一个 pod 时做出妥协。 [交叉链接供参考:***.com/questions/52295762/…] 我需要 Alamofire 4.7 用于 Google 登录。所以它不适用于这个版本的 Alamofire? 使用 4.5.1 版的 Alamofire 在 Alamofire 中给出 1 个警告,在 SwiftyDropbox 中给出 3 个警告(“在此位置使用 '!' 已弃用,将在未来版本中删除;考虑将其更改为 ' ?' 代替") 【参考方案1】:

SwiftyDropbox 文档中未提及但对于避免/解决此问题至关重要的一些事情:

您需要在 Podfile 中指定 SwiftyDropbox 的版本。像这样:

pod 'SwiftyDropbox', '~> 5.0.0'

在 Podfile 中指定版本并再次运行 pod install 后,您将收到此错误:

$ pod install
Analyzing dependencies
[!] CocoaPods could not find compatible versions for pod "SwiftyDropbox":
  In Podfile:
    SwiftyDropbox (~> 5.0.0)

None of your spec sources contain a spec satisfying the dependency: `SwiftyDropbox (~> 5.0.0)`.

You have either:
 * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
 * mistyped the name or version.
 * not added the source repo that hosts the Podspec to your Podfile.

Note: as of CocoaPods 1.0, `pod repo update` does not happen on `pod install` by default.

如错误消息所述,您需要手动运行pod repo update。为什么?谁知道呢,但你需要这样做。

完成此操作后,它已获取 SwiftyDropbox 源,运行 pod install,这一次它将正常工作。输出将包括“Installing SwiftyDropbox (5.0.0)”。

【讨论】:

以上是关于SwiftyDropbox 与 Alamofire 问题的主要内容,如果未能解决你的问题,请参考以下文章

listFolder SwiftyDropbox v2

错误 kCFStreamErrorDomainSSL 与 Alamofire

RealmSwift 与 Alamofire5

swift中第三方网络请求库Alamofire的安装与使用

Alamofire 响应与请求不匹配

无法添加Alamofire与cocoapods项目