iOS/Macアプリ開発者向けのライブラリ管理ツール「CocoaPods」の最新版v1.0が5月10日リリースされました(公式ブログ)。Podfile DSLの変更をはじめとした互換性のない修正が含まれています。
CocoaPodsは4年半の開発期間を経てv1.0に到達。その間およそ400人の開発者によって、累計20,000のコミットが行われ、22,000のissuesを解決してきたとのこと。v1.0では今後5年を見据え、信頼できる開発ツールとして使われ続けていくために必要な修正が一気に行われています。
v1.0の修正内容としてはまず、以下に挙げられたPodfile DSLの変更があります。
- すべてのターゲットを明示的にPodfileで定義する必要があり、名前はXcodeでターゲット名と一致する必要がある
- コマンドラインオプションのいくつかはPodfileのインストールオプションに移動
- 新しいターゲット継承オプションの導入。アプリのターゲットからテストターゲットへ検索パスだけ継承するといったことが可能となる
- 抽象ターゲットの導入。プラットフォームをまたいで依存関係を共有できる
最も大きく互換性のない変更も含まれていますが、移行はそれほど大変な作業ではなくマイグレーションガイドを参照すれば大多数のユーザーが10分以内で作業が完了することが見込まれています。
またPodspecのフォーマットを検証できるlintツールの導入や、ソースハンドリングの改良、CocoaPodsに含まれていないターゲットを削除できるcocoapods-deintegrateプラグインの導入などさまざまな変更が加えられています。詳細な変更点はCHANGELOGにて確認することができます。