こんにちは、コン(@pippi_kon)です。
Swiftでは、有志の方々が作ってくださった素晴らしいライブラリを多数使用することができます。
これらのライブラリを使うためには大抵CocoaPodsでPodfileをインストールする必要があります。
しかし、ライブラリの説明書通りにインストールするとすでにインストール済みの他のライブラリが消えてしまうのです。
私は広告表示用のFirebase/AdMobのライブラリと、円形プログレスバー用のMBCircularProgressBarのライブラリを共存させたかったのですが、調べてみると簡単にできることがわかりました。
そこで今回は、『複数のPodfile(ライブラリ)を同時にインストールする方法』をご紹介します。
この記事の前提
すでにいずれかのPodfileをインストールしている前提で記載します。
もしまだPodfileを作ったことがないという方はまずはこの記事をご参考にしてください。
私の検証では、広告表示用のFirebase/AdMobのライブラリがすでにインストールされている環境に、新たに円形プログレスバー表示用のMBCircularProgressBarのライブラリをインストールしています。
複数のPodfileをインストールする方法
複数のPodfileをインストールするためには、まずはそれらを1つのPodfileにしなければいけません。つまり合体させるのです。
例えば、広告表示用のFirebase/AdmobのPodfileはこのようになっています。
# Uncomment the next line to define a global platform for your project platform :ios, '9.0' target 'プロジェクト名' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! # Pods for プロジェクト名 pod ‘Firebase/AdMob’ end
もう一方の円形プログレスバー表示用のMBCircularProgressBarのProfileは以下。
# Uncomment the next line to define a global platform for your project platform :ios, '9.0' target 'プロジェクト名' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! # Pods for プロジェクト名 pod "MBCircularProgressBar" end
これらのPodfileを合体させるためには「pod XXXXXXXX」の部分を2つ並べて書いてあげればいいのです。
上記2つのPodfileを合体させた姿がこちら。
# Uncomment the next line to define a global platform for your project platform :ios, '9.0' target 'プロジェクト名' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! # Pods for プロジェクト名 pod ‘Firebase/AdMob’ pod "MBCircularProgressBar" end
とても簡単ですね。
インストールしてみた
実際にインストールしてみました。
Podfileを修正後、「pod install」でインストールです。
このようなログが表示されました。
特にエラーはなくインストール成功しています。
この後「.xcworkspace」ファイルも開いてみましたがエラーは発生せず、ビルドも成功しました。
最後に
今回は、『複数のPodfile(ライブラリ)を同時にインストールする方法』をご紹介しました。
一方のPodfileをインストールするともう片方のPodfileが消えてしまうので、そんな時は2つのPodfileを1つに合体させればいいのです。
合体させる方法はすごく簡単で、「pod xxxxxx」と書かれた1行を移動させるだけ。
(Podfileの書き方によっては他にも修正しないといけない箇所があるかもしれません)