Carthage
Carthageを試す
Carthageの準備
Carthageをインストール
Homebrewでインストールする
$ brew update
$ brew install carthage
($ brew upgrade carthage)
Carthageでライブラリを利用する
Cartfileの準備
$ touch Cartfile
$ edit Cartfile
github "ReactiveCocoa/ReactiveCocoa"
// または
git "git@github.com:Carthage/Carthage.git"
ライブラリのビルド&インストール
$ carthage update
Carthage/Checkouts直下にライブラリがチェックアウト(clone)される
Carthage/Buildにライブラリがdynamic frameworkとしてビルドされる
Xcodeプロジェクトに組み込む
- 
    TARGETS > General > Linked Frameworks and Librariesから 
 Carthage/Buildにビルドされたframeworkを追加
- 
    TARGETS > Build Phasesに”Run Script Phase”を追加 - 
        コマンド入力欄に以下を設定 /usr/local/bin/carthage copy-frameworks
- 
        “Input Files”に以下を設定 $(SRCROOT)/Carthage/Build/iOS/ReactiveCocoa.framework
 
- 
        
エラー対応
エラーが発生したらXcodeのbetaを利用するように変更することで解消する場合がある。
$ sudo xcode-select --switch /Applications/Xcode-beta.app
$ xcode-select --print-path
/Applications/Xcode-beta.app/Contents/Developer
その他
- 
    ビルド時に生成される Cartfile.resolvedをバージョン管理ツールで管理する
 ex.)git commit Cartfile.resolved
- 
    ライブラリを組み込む人以外は以下のコマンドを実行してビルド&インストールする 
 ライブラリの依存関係を再チェックしない(その時最新のものを勝手にインストールしないようにするため)?$ carthage bootstrap
- 
    ビルド時にリリースビルドとデバッグビルドを切り替える 
 デフォルトはリリースビルドかな?$ carthage update --configuration Debug
ライブラリをCarthageに対応する
プロジェクトの作成
dynamic frameworkのためのTARGETを追加

schemeをsharedに設定

Product NameをTARGET_NAMEからPROJECT_NAMEに変更
TARGETをHoge-iOSなどで作成したものの、ライブラリをプロジェクト名でビルドしたい場合がある

コンパイルソースファイルや公開するヘッダーファイルを設定

ビルドできるか試す
$ carthage build --no-skip-current
*** xcodebuild output can be found in /var/folders/gh/k78xg2h16t1g9hf6j5b6x71h0000gn/T/carthage-xcodebuild.nXl0s5.log
*** Building scheme "SampleLibrary" in SampleLibrary.xcodeproj
Carthage/Build配下に*.frameworkが作成される
TAGを切る
$ git tag 1.0.0
