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