ReactiveCocoaのSwift 2.0版をCarthageで導入しようとしたところエラーに遭遇したのでメモ。
ReactiveCocoaで話をしていますが他にもSwift 2.0のコードが含まれているものならば同様です。
#Carthageによるインストール
ReactiveCocoaのSwift 2.0対応はswift2
ブランチで進められています。
Cartfileは以下のように記述します。
Cartfile
github "ReactiveCocoa/ReactiveCocoa" "swift2"
carthage update
を実行します。
#ビルドエラー
これで導入できればいいんですが、以下のようなエラーが出て失敗することがあります。(実際のエラーはもっと長いです)
The following build commands failed:
CompileSwift normal x86_64 /Users/masahiko/Documents/Xcode/RAC3Example/Carthage/Checkouts/Result/Result/Result.swift
CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler
#xcodebuildを切り替える
Swift 2.0のコードが含まれているため、Swift2より前のコンパイラではコンパイルに失敗するのです。
xcodebuild
をXcode 7付属のものにしていない場合、以下のようにして切り替える必要があります。
sudo xcode-select -switch /Applications/Xcode-beta.app/Contents/Developer
これでビルドが通り、無事にSwift 2.0版ReactiveCocoaを導入できました。