ライブラリ管理ツールCarthageのCartfileの書き方

公開日: : iOSアプリ開発

20160201-112159.jpg

iOS(Cocoa)ライブラリ管理ツール「Carthage」で使用するCartfileの書き方を調べたのでまとめておきたいと思います。

(もし間違いなどがあれば、Twitterなどでお知らせ下さい。)

    

originとversion requirement

Cartfileは「origin」と「version requirement」という2つのパートから成り立っています。

    

origin

originには現在、「github」と「git」を指定することができるようです。

書式は以下の通り。

github “ReactiveCocoa/ReactiveCocoa” # GitHub.com
github “https://enterprise.local/ghe/desktop/git-error-translations” # GitHub Enterprise
git “https://enterprise.local/desktop/git-error-translations2.git”

もし他のoriginをサポートして欲しいのであれば、Issueを作って知らせて欲しいとのこと。

    

version requirement

バージョンの指定に使うものですね。以下の4種類があるようです。

  • >= 1.0 : 1.0以降
  • ~> 1.0 : 1.0と互換性があるバージョン(1.0以降、2.0未満?)
  • == 1.0 : 1.0
  • “ブランチ名・タグ名・コミット” : Gitオブジェクトを指定する場合

なお、互換性についてはSemantic Versioning 2.0.0にしたがって決定されるとのこと。

以下、その引用です。

Given a version number MAJOR.MINOR.PATCH, increment the:

MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.

    

Cartfileの記述例

以下、Cartfileの記述例です。

# 2.3.1以降
github “ReactiveCocoa/ReactiveCocoa” >= 2.3.1

# 1.x
github “Mantle/Mantle” ~> 1.0 # (1.0以降、2.0未満)

# 0.4.1
github “jspahrsummers/libextobjc” == 0.4.1

# 最新バージョン
github “jspahrsummers/xcconfigs”

# ブランチを指定
github “jspahrsummers/xcconfigs” “branch”

# GitHubエンタープライズのプロジェクトを使用
github “https://enterprise.local/ghe/desktop/git-error-translations”

# 任意のサーバーのプロジェクトのdevelopmentブランチを使用
git “https://enterprise.local/desktop/git-error-translations2.git” “development”

# ローカルプロジェクトを使用
git “file:///directory/to/project” “branch”

    

@akio0911はこう思った。

以前はCocoaPodsを使っていたんですが、最近はCarthageを使ってます!

    

この記事を書いた人
あきお(@akio0911
iOSエンジニア、ブロガー。「プログラミングで人々を幸せに」をテーマに活動中。著書に「iPhoneアプリ開発レシピ」「cocos2d for iPhoneレッスンノート」など。東京・大阪にてアプリ開発講座「アプリクリエイター道場」を主催。 MAMORIO株式会社 技術顧問(インタビュー記事)、VISITS Technologies株式会社 技術顧問(インタビュー記事)。ブログ「卵は世界である」を運営。

関連記事

この記事が気に入ったら「いいね!」しよう

follow us in feedly

Feedlyで最新記事を購読

Twitterで更新情報をゲット!

LINEでご感想・ご要望お送りください!
(スマホでLINEを起動 > 友だち追加 > QRコード)

プログラミング未経験者向けのプログラミング入門連載記事を始めます

こんにちは、@akio0911です。 これからプログラミング未経

【RxSwift】BehaviorRelayとPublishRelayについてまとめてみた

こんにちは、@akio0911です。今回はRxSwiftのBe

【RxSwift】materialize, dematealizeを使ってみた

@toshi0383さんに教えていただいた、RxSwiftのm

【RxSwift】ストリームのcompletedをつぶす(消し去る)方法

RxSwiftで元々のストリームからcompletedをつぶす

【RxSwift】completedかerrorが流れてきたらsubscribeはdisposeされる

RxSwiftにおいて、completedかerrorが流れて

→もっと見る

PAGE TOP ↑