LoginSignup
7
6

More than 5 years have passed since last update.

Carthage 導入でしがちのミス

Last updated at Posted at 2017-05-13

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

スクリーンショット 2017-05-12 17.40.05.png
github "Owner/repository" のように記述します。
記述方法はgithubのそれぞれのREADMEに記述されていたりします。

% carthage update --platform ios

Cartfileに従って、ライブラリをインストールする方法は carthage updateのコマンドを打つだけです。
OSなどを指定したい場合は、--platformでiosなどを指定ます。

スクリーンショット 2017-05-12 17.44.18.png
ReSwift と Kingfisher がCheckoutsしたもののうまくバイナリにできなかった場合などは、以下のコマンドを打ってあげると、Checkoutsからバイナリを生成し直してくれます。

% carthage build

作成したバイナリをXcodeプロジェクトに追加

  1. プロジェクトファイル > General > Linked Frameworks and Librariesのプラスボタンから、 Carthage/Build に入っているframeworkを追加する。
  2. add Other… を選択する
  3. FinderからCarthage > Build > 該当のライブラリ.frameworkを追加します。

スクリーンショット 2017-05-12 17.52.55.png
上記のように3つ追加されます。

新しいRun Scriptの作成

  1. プロジェクトファイル > Build Phasesの左上のプラスボタンからNew Run Script Phaseを選択する
  2. Run Scriptの黒い部分に以下のスクリプトを追記する
    /usr/local/bin/carthage copy-frameworks
  3. 該当のライブラリをInput Filesにプラスボタンから追加していきます。
  4. $(SRCROOT)/myfilesとなっているので、myfilesにCarthage/Build/iOS/ReSwift.frameworkのように該当のライブラリのディレクトリを指定します。

スクリーンショット 2017-05-12 17.57.24.png

以上でライブラリの導入は完了です。
Cartfileを作成して、updateするだけは甘い考えでした。

参考
http://qiita.com/ShinokiRyosei/items/9b856ebdec5379b6c631

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6