今までiOS開発を行うにあたってCocoaPodsを主に使ってきました。
ただXcodeとは別にターミナルを立ち上げてインストールをして...という手順を踏むのは正直面倒に感じていました。
しかも「.xcodeproj」を使っていたのに、ライブラリインストール後は「.xcworkspace」に切り替えなければならないというのも手間だなあと。
そこでSwiftPackageManager、通称SwiftPMを使ってXcode内でライブラリの管理をしてしまうことにしました。
前提
SwiftPMでライブラリをインストールする際、ライブラリに「Package.swift」ファイルがある必要があります。
無い場合は今まで通りCocoaPodsやCarthageを使うことになるので注意しましょう。
便利なライブラリで使用者も多い場合はSwiftPMに対応するようissueが作られていることもあるので、ちょこちょこ様子を見てみると良いかもしれません。
今後コードを管理するためにもXcodeとGitHubを連携させておくと良いと思います。
動作確認環境
Xcode12
ライブラリのインストール
画面上部のメニューからFile > Swift Packages > Add Package Dependency を選択します。
次に使用したいライブラリのURLを入力します。
対応しているgitリポジトリであれば、必ずしもGitHubのリポジトリである必要はないようです。
GitHub連携を済ませていると、最初に自分がスターをつけたリポジトリが一覧で表示されます。
よく使うライブラリにはスターをつけておくと使いやすくなるでしょう。
また、連携しておくことでGitHub内のリポジトリをキーワードで検索することも可能になります。
次に使用したいバージョンを選択します。
画像ではSDWebImageの5.9.4から6.0.0未満のバージョンをインストールすることになります。
「Up to Next Minor」でよりバージョンの範囲を狭くしたり、「Exact」で特定のバージョンのみを入れたりすることもできます。
大抵はデフォルトの状態で大丈夫だと思います。
また、特定のブランチやコミットからもインストールが可能です。
最後にパッケージ内のどのプロジェクトを使いたいかを選択します。
チェックを入れないままFinishを押せば全てのプロジェクトが導入されます。
ライブラリを使用したい場合は今まで同様importしてあげることで使用できるようになります。
ライブラリの削除
Xcodeでプロジェクトを選択し、「Swift Packages」を選択します。
削除したいライブラリを選び、「-」マークを押せば完了です。
終わりに
今まで使っていたライブラリが対応しているとは限らないため、すでにできているプロジェクトで完全に移行というのは現段階では難しいかもしれません。
新しいプロジェクトを作るときやライブラリの見直しをする際に導入してみてはいかがでしょうか。