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 问题的主要内容,如果未能解决你的问题,请参考以下文章