現在、iOS/macOS/watchOS/tvOSアプリ開発向けのパッケージ管理ツールとして、CarthageとCocoaPods、Swiftのパッケージ管理ツールとしてSwift Package Managerがある。近年ではSwiftで書かれたフレームワークも増えており、Swiftの普及がかなり進んでいることがうかがえる。
さて、Swiftで書かれたフレームワークに顕著ではあるが、現状ではCarthage/CocoaPodsの両方でで配布される傾向が強いように見受けられる ((Swift Package Managerについては、あくまでSwift向けの汎用パッケージ管理ツールであるため、ここでは割愛する)) 。私がGitHub上のプロジェクトを見回した限りでは、よく使われるSwiftライブラリー群は、その多くがCocoaPods/Carthage両対応、Objective-Cのものでも多くがCarthageに対応が進んでいるようだ。
CocoaPodsとCarthageではパッケージ管理ツールとしての方向性が異なり、なおかつ両者が共存できるように丁寧に配慮されている。CocoaPodsは手軽に利用可能でプロジェクトの設定も自動的に行ってくれる一方、Carthageはプロジェクトの設定は手動で行う一方でビルド済みのフレームワークを利用可能といった具合に。
こういった感じで、多くのフレームワーク開発者は、プロジェクトによって、CocoaPodsとCarthageの両方を使えるように考慮していることが伺える。
ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しています。主にスマートフォン向けアプリやウェブアプリの開発を携わっています。ご用の方はコメントかコンタクトフォームにて。