我有一個使用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庫有很多錯誤。
這裏有一個問題: 如何才能讓我導入使用SPM和平行進口Alamofire莢沒有得到這些錯誤所需的MongoDB驅動程序解決這些問題?
我的假設是Alamofire是用Swift 2.2編寫的,但爲了運行SPM並構建項目,swift 3.0 dev是必需的,因此,這些錯誤可能與swift的衝突版本有關。請糾正我,如果我錯了。
我對SPM的內部工作原理以及如何將SPM與Xcode 7.3連接起來有限的理解,即使我從官方Apple文檔中閱讀了相應的文檔,所以對任何幫助/解釋都表示讚賞!