2016-04-24 113 views
0

我有一个使用cocoapods嵌入Alamofire库的Xcode项目。 我Podfile看起来是这样的:Swift包管理器导致Alamofire产生错误

source 'https://github.com/CocoaPods/Specs.git' 
platform :ios, '9.0' 
use_frameworks! 
pod 'Alamofire', '~> 3.3' 

现在,我需要使用另一个库,这亦是一个斯威夫特MongoDB的驱动程序。鉴于我在iOS开发领域相对较新,对于我来说,在Podfile中添加另一行提到MongoDB驱动程序会很方便,但它不可用作cocoapod。在驱动程序的GitHub存储库上,指定要安装它,只需将库添加到Package.swift文件。

我花了一些时间来确定如何安装Swift Package Manager,但我最终做到了。现在,就官方文档而言,

软件包管理器将与Swift 3一起发布,目前 仅适用于Swift 3开发快照。

并按照SPM官方github repo的安装说明,我下载并安装了最新的开发快照(截至2016年4月12日)。此外,我也跟着的有关指示,其余为的XCode 7.3(我的版本),现在当我运行swift build --version当我运行xcrun --find swift它显示在终端上显示预期输出Apple Swift Package Manager 0.1

/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2016-04-12-a.xctoolchain/usr/bin/swift 

当我运行swift --version它显示:

Apple Swift version 3.0-dev (LLVM 752e1430fc, Clang 3987718dae, Swift 36739f7b57) 

对不起这么详细的介绍,但现在的问题是

当我从Xcode 7.3默认工具链更改为XCode Swift Development Snapshot以使用SPM,并且当我重新启动Xcode(为了进行工具链更改)尝试生成项目时,编译器生成在使用默认工具链时,以前工作过的Alamofire库有很多错误。

Xcode errors

这里有一个问题: 如何才能让我导入使用SPM和平行进口Alamofire荚没有得到这些错误所需的MongoDB驱动程序解决这些问题?

我的假设是Alamofire是用Swift 2.2编写的,但为了运行SPM并构建项目,swift 3.0 dev是必需的,因此,这些错误可能与swift的冲突版本有关。请纠正我,如果我错了。

我对SPM的内部工作原理以及如何将SPM与Xcode 7.3连接起来有限的理解,即使我从官方Apple文档中阅读了相应的文档,所以对任何帮助/解释都表示赞赏!

回答

0

你不能混用Swift 2和Swift 3.所以你不能做你想做的。找到一个面向Swift 2的mongo库,或者使用已经移植到Swift 3的Alamofire分支。

现在,即使这样,我不确定你是否能够做到你想要的,你没有具体说明你如何使用SwiftPM,但它还不支持iOS开发,所以...

相关问题