Carthageを導入した時のミスを紹介します。
以前まではCocoaPodsを用いていたのですが、ビルド時間の改善からCarthageは不可欠だと感じました。
CocoaPods の導入の確認
% pod init
% vim Podfile
Podfile.
target 'app名' do
use_frameworks!
pod 'Fabric'
pod 'TwitterKit'
pod 'TwitterCore'
end
% pod install
⇒一旦Xcodeを閉じて、 .xcworkspace
を開く
以上でCocoaPodsの導入の完了です。
自分のミスは 理解していながらもCarthageの導入をCocoaPodsの導入と混同していたことでした。
Carthage の導入
ライブラリのインストール
% touch Cartfile
% vim Cartfile
github "Owner/repository"
のように記述します。
記述方法はgithubのそれぞれのREADMEに記述されていたりします。
% carthage update --platform ios
Cartfileに従って、ライブラリをインストールする方法は carthage update
のコマンドを打つだけです。
OSなどを指定したい場合は、--platformでiosなどを指定ます。
ReSwift と Kingfisher がCheckoutsしたもののうまくバイナリにできなかった場合などは、以下のコマンドを打ってあげると、Checkoutsからバイナリを生成し直してくれます。
% carthage build
作成したバイナリをXcodeプロジェクトに追加
-
プロジェクトファイル > General > Linked Frameworks and Libraries
のプラスボタンから、 Carthage/Build に入っているframeworkを追加する。 - add Other… を選択する
- Finderから
Carthage > Build > 該当のライブラリ.framework
を追加します。
新しいRun Scriptの作成
-
プロジェクトファイル > Build Phases
の左上のプラスボタンからNew Run Script Phaseを選択する - Run Scriptの黒い部分に以下のスクリプトを追記する
/usr/local/bin/carthage copy-frameworks
- 該当のライブラリをInput Filesにプラスボタンから追加していきます。
- $(SRCROOT)/myfilesとなっているので、myfilesにCarthage/Build/iOS/ReSwift.frameworkのように該当のライブラリのディレクトリを指定します。
以上でライブラリの導入は完了です。
Cartfileを作成して、updateするだけは甘い考えでした。
参考
http://qiita.com/ShinokiRyosei/items/9b856ebdec5379b6c631