5

升级到 后Xcode 7.0,我将所有项目转换为Swift 2.0. 但我无法更新Carthage库。我收到这个警告:

无法在以下位置加载插件:/Users/Alexandr/Library/Application Support/Developer/Shared/Xcode/Plug-ins/CocoaPodUI.xcplugin,跳过。失败原因:*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: 尝试从对象[0]中插入零对象

还有几个错误:

Box/Box.swift:6:37: 错误: 'Printable' 已重命名为 'CustomStringConvertible' /Box/Box.swift:31:10: 错误: 'toString' 已重命名为 'String' Box/MutableBox.swift :8:51: 错误: 'Printable' 已重命名为 'CustomStringConvertible' Box/MutableBox.swift:25:10: 错误: 'toString' 已重命名为 'String'

如何使用Swift 2.0框架版本?我的迦太基文件如下所示:

github "Alamofire/Alamofire" 
github "SwiftyJSON/SwiftyJSON" 
github "ReactiveCocoa/ReactiveCocoa"

在框架末尾添加“swift 2.0”不起作用。

~ xcodebuild -version
Xcode 7.0
Build version 7A220
~ carthage version
0.9.1

编辑:

接缝Alamofire并且SwiftyJSON已经支持Swift 2.0。因为ReactiveCocoa我们需要添加分支“swift2”。

github "Alamofire/Alamofire"
github "SwiftyJSON/SwiftyJSON"
github "ReactiveCocoa/ReactiveCocoa" "swift2"
4

2 回答 2

2

首先,你有什么 Cartage 版本?运行命令

Carthage version

我认为最新的稳定版是 0.8.0,如果你有旧版本,我建议你升级它。为此运行

brew upgrade carthage

之后检查您正在使用的所有库是否支持Swift 2.0,如果不检查 master 的不同分支,可能它们还没有合并它们。

我刚刚看到你运行的是 0.9.1,也许它有问题?我正在使用 0.8.0 并且与 Alamofire 一起工作正常

于 2015-09-18T10:18:54.813 回答
1

通过将以下内容放入我的 Cartfile 为我工作:

github "ReactiveCocoa/ReactiveCocoa" >= 4.0

目前 ReactiveCocoa 的 v4.x 处于 alpha 阶段,但 v3.x 不支持 Swift 2

于 2015-10-24T11:59:33.657 回答