2016-04-24 104 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開發,所以...

相關問題