ばろぐ・ほいダウン

2010年Nゲージにより鉄道事業を開始。2011年Gゲージに参入することで事業拡大。常に夢と目標と野望を持ち活動していく。

MENU

SwiftPMを使ってライブラリを管理しよう

今までiOS開発を行うにあたってCocoaPodsを主に使ってきました。
ただXcodeとは別にターミナルを立ち上げてインストールをして...という手順を踏むのは正直面倒に感じていました。
しかも「.xcodeproj」を使っていたのに、ライブラリインストール後は「.xcworkspace」に切り替えなければならないというのも手間だなあと。
そこでSwiftPackageManager、通称SwiftPMを使ってXcode内でライブラリの管理をしてしまうことにしました。

前提

SwiftPMでライブラリをインストールする際、ライブラリに「Package.swift」ファイルがある必要があります。
無い場合は今まで通りCocoaPodsやCarthageを使うことになるので注意しましょう。
便利なライブラリで使用者も多い場合はSwiftPMに対応するようissueが作られていることもあるので、ちょこちょこ様子を見てみると良いかもしれません。

今後コードを管理するためにもXcodeとGitHubを連携させておくと良いと思います。

動作確認環境

Xcode12

ライブラリのインストール

f:id:yotubarail:20201023162827p:plain

画面上部のメニューからFile > Swift Packages > Add Package Dependency を選択します。



f:id:yotubarail:20201023162558p:plain

次に使用したいライブラリのURLを入力します。
対応しているgitリポジトリであれば、必ずしもGitHubのリポジトリである必要はないようです。

GitHub連携を済ませていると、最初に自分がスターをつけたリポジトリが一覧で表示されます。
よく使うライブラリにはスターをつけておくと使いやすくなるでしょう。
また、連携しておくことでGitHub内のリポジトリをキーワードで検索することも可能になります。



f:id:yotubarail:20201023162619p:plain

次に使用したいバージョンを選択します。

画像ではSDWebImageの5.9.4から6.0.0未満のバージョンをインストールすることになります。
「Up to Next Minor」でよりバージョンの範囲を狭くしたり、「Exact」で特定のバージョンのみを入れたりすることもできます。
大抵はデフォルトの状態で大丈夫だと思います。

また、特定のブランチやコミットからもインストールが可能です。



f:id:yotubarail:20201023171418p:plain

最後にパッケージ内のどのプロジェクトを使いたいかを選択します。
チェックを入れないままFinishを押せば全てのプロジェクトが導入されます。

ライブラリを使用したい場合は今まで同様importしてあげることで使用できるようになります。


ライブラリの削除

f:id:yotubarail:20201023172721p:plain

Xcodeでプロジェクトを選択し、「Swift Packages」を選択します。
削除したいライブラリを選び、「-」マークを押せば完了です。

終わりに

今まで使っていたライブラリが対応しているとは限らないため、すでにできているプロジェクトで完全に移行というのは現段階では難しいかもしれません。
新しいプロジェクトを作るときやライブラリの見直しをする際に導入してみてはいかがでしょうか。