我有一个用Swift 3.2.2编写的项目,并使用XCode 9.1编译
我有一个使用此命令使用Carthage构建的依赖项:
carthage update --platform iOS
问题是Carthage使用Swift 4.0(而不是Swift 3.2.2)构建依赖项
使用Swift 4.0编译的模块无法在Swift 3.2.2中导入
如何告诉Carthage使用Swift 3.2.2构建我的依赖项,以便它可以在我的项目中使用?
我还不想将我的项目升级到Swift 4.0.
Xcode 9.1支持Swift 3和Swift 4.那么如何在编译依赖时告诉Carthage使用Swift 3?我不想告诉它使用早期版本的XCode(我不再拥有)
我正在使用图表库并尝试运行演示.在运行之前,我必须使用Carthage安装依赖项.我转到项目文件夹位置并输入终端:
carthage update
Run Code Online (Sandbox Code Playgroud)
我得到以下错误: -
迦太基需要git 2.3.0或更高版本.
如何安装Carthage decencies并运行上述演示.
我正在创建一个iOS应用程序并使用Carthage构建外部库.由于我使用的库目前都是Swift 2和Swift 3,我有点紧张.因此,我希望有一个Swift 2分支和一个Swift 3分支进行开发,然后在库兼容Swift 3时合并它们.
但是,我无法为Carthage(版本0.18)选择构建哪个工具链.
这是我的Cartfile的内容:
# Swift 2 libraries
github "stephencelis/SQLite.swift" ~> 0.10.1
github "Haneke/HanekeSwift"
# Swift 3 libraries
#github "stephencelis/SQLite.swift" "swift3"
#github "Haneke/HanekeSwift" "feature/swift-3"
#github "kitasuke/PagingMenuController"
#github "Alamofire/Alamofire" ~> 4.0
Run Code Online (Sandbox Code Playgroud)
目前通过使用构建carthage update
.以下是一些输出验证我目前正在使用Swift 2:
$ swift --version
Apple Swift version 2.2 (swiftlang-703.0.18.8 clang-703.0.31)
Target: x86_64-apple-macosx10.9
$ ls -lh $(which swift)
-rwxr-xr-x 1 root wheel 18K Jul 8 19:52 /usr/bin/swift
Run Code Online (Sandbox Code Playgroud)
现在我想切换到使用Swift 3进行构建.我安装了多个工具链/Library/Developer/Toolchains
,这是OSX在运行安装程序时安装它们的地方:
$ ls -lh /Library/Developer/Toolchains
drwxr-xr-x 6 root wheel 204B Sep 30 20:07 …
Run Code Online (Sandbox Code Playgroud)