Swift 2.0 / Xcode 7 では Swift の構文が大きく変更されており、 Alamofire や SwiftyJSON をはじめ、多くの Swift ライブラリでは Swift 2.0 / Xcode 7 用のブランチが作られて開発されています。
-
Alamofire:
swift-2.0
-
SwiftyJSON:
xcode7
-
SWXMLHash
xcode-7.0
-
PromiseK:
swift-2.0
← これは有名ライブラリではなく僕の自作ライブラリです。
しかし、 Carthage を使ってこれらを管理しようとしても、 README に書いてあるような Cartfile の記述方法ではうまくいきません。上記の Swift 2.0 / Xoce 7 用ではないコミットが checkout されてしまいます。
github "Alamofire/Alamofire" >= 1.3
github "SwiftyJSON/SwiftyJSON" >= 2.2.0
github "drmohundro/SWXMLHash" ~> 1.1
github "koher/PromiseK" >= 1.0.0
では、どうやって Cartfile に上記のブランチを指定すれば良いでしょうか? Carthage の Documentation を読めば書いてあります。
"some-branch-or-tag-or-commit" for a specific Git object (anything allowed by git rev-parse)
つまり、次のように書けば上記の Swift 2.0 / Xcode 7 用のブランチを指定することができます。
github "Alamofire/Alamofire" "swift-2.0"
github "SwiftyJSON/SwiftyJSON" "xcode7"
github "drmohundro/SWXMLHash" "xcode-7.0"
github "koher/PromiseK" "swift-2.0"
また、当然ながらこれらのブランチをビルドするためには Xcode 7 を使う必要があります。ビルドに Xcode 7 を使うようにするには、ここで述べられているように次のコマンドを実行すれば良いです。
sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer