当ブログではiOS/macOS用アプリ開発のためのパッケージ管理ツールとして、CocoaPods、Carthage、そしてSwift Package Managerに言及した。今回はおさらいとしてどういう特徴があるのかを簡単にまとめてみたい。
CocoaPodsは最も気軽に使える
CocoaPodsは、iOS/macOSアプリ開発向けのパッケージ管理ツールとしては最も初期に登場したもので、Podfileにインストールしたいパッケージを指定、コマンドでインストールおよびプロジェクトの設定を行ってくれる。
CocoaPodsを使ったプロジェクトでは、独自にワークスペースパッケージを作成するので、それを開いて開発をする必要がある点は要注意である。
パッケージ形式の選択が可能で、iOS7までをサポートする場合はCocoaPodsしか使えなくなる。
対応パッケージが豊富にあるのも長所であり、まずはこれを選べば間違いはないだろう。
Carthageは非常にシンプル
一方、Carthageは、比較的最近登場したパッケージ管理ツールで、Cartfileに必要なパッケージを指定、コマンドでパッケージをダウンロード・ビルドしてくれる。
プロジェクトの設定はしてくれないため、各自でリンクするフレームワークを指定し、コピーするというビルドフェーズを加える必要がある点で少々手間がかかる。
今日ではCocoaPodsに肩を並べているため、これも最有力候補である。なお、CocoaPodsとCarthageは共存可能である。
Swift Package Managerはかなり特殊
Swift Package Manager(SwiftPM)は、上2つとは大きく異なるパッケージ管理ツールで、Swift純正かつ環境非依存のパッケージ管理ツールである。
このパッケージ管理ツールで特徴的なのは、Xcodeプロジェクトを使っておらず、Xcodeを使うときにそれを生成するという形式になっていることである。
GNU/Linuxなど、非Mac環境ではこれが唯一利用可能なパッケージ管理ツールといえるだろう。
なお、このパッケージ管理ツールではSwiftのもののみとなる。
最後に
CocoaPods/Carthage/SwiftPMと、今日で使われている主要なパッケージ管理ツールについてまとめてみた。アプリ開発ではCocoaPodsかCarthageがあれば大丈夫だろう。SwiftPMはサーバー向けとした方が無難だと言える。
今日ではその状態だが、また状況が変わるかもしれない。その時は情報を加えていきたい。
ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しています。主にスマートフォン向けアプリやウェブアプリの開発を携わっています。ご用の方はコメントかコンタクトフォームにて。