実現したいこと
monacaでDynamic Linksを使用したいのですが、
iOSのデバッグビルド時にエラーが発生します。
Androidの方は、ビルド・動作テスト共に正常に動きました。
発生環境
cordova-plugin-firebase-dynamiclinks v6.1.1
※APP_DOMAIN_NAMEのインストールパラメータは設定済み
cordova-plugin-firebasex v11.0.3-cli
iOSのビルド環境設定
プラットフォーム 6.2.0
Xcode 12.5.1
※最小限のテンプレートでも試しましたが、やはりビルド時にエラーになります
発生している問題・エラーメッセージ
Failed to install 'cordova-plugin-firebase-analytics': Error: pod: Command failed with exit code 31 Error output: Failed to install 'cordova-plugin-firebase-dynamiclinks': Error: pod: Command failed with exit code 31 Error output:
試したこと
1.有償チケットを使ってサポートに問い合わせました。(問い合わせの内容とその回答は後述します)
2.サポートから回答いただいた以下の二つを試しました。
・最新のプラグインを導入する
→エラーは解消しませんでした。cordova-plugin-firebasexはむしろ、最新ソースをインストールすると、このプラグイン単体でもビルド時にpodのエラーが発生しました。
・CocoaPodsのバージョンを指定する
→バージョンの指定の仕方がわかりません。分からないなりに、プラグインのソースを読み込み、あれこれ試しましたが解消されませんでした
例:
プラグインのparamxmlのpodのspecを合わせる
cordova-plugin-firebasex.scripts/ios/before_plugin_install.jsのminCocoapodsVersionの値を1.10.2に変えてみる
cordova-plugin-firebase-dynamiclinksのバージョンを、5.0.0や4.8.0や3.0.0に変えてる
cordova-plugin-firebase-analyticsをインストールしておく。そして、バージョンを6.1.0だけでなく、4.5.0でも試してみる
3.そのほかDynamicLinksを使用できるプラグインがないか調査しましたが、見つかりませんでした。
4.cordova-plugin-firebasexで以下のissueを見つけましたが、Monacaではどうしたら良いのかわかりません
https://github.com/dpa99c/cordova-plugin-firebasex/issues/677
どなたかDynamic LinksやCocoaPodsに詳しい方がおられましたら、エラーの解消の仕方をご教授ください。
よろしくお願いいたします。
問い合わせ内容
2021年11月4日 15:50:25に行った iOSアプリのデバッグ向けビルドをエラーにならないようにしたいです。 Androidのビルドはうまくいくのですが、iOSでエラーになります。 当方で調査した結果、把握している内容は以下の通りです。 ・cordova-plugin-firebase-dynamiclinksがあるとエラーになるが、このプラグインを使用したい ・cordova-plugin-firebase-dynamiclinksは、cordova-plugin-firebase-analyticsと依存関係にあり、自動的にインストールしようとする ・エラーの内容はおそらく「CocoaPodsが互換性のあるバージョンを見つけることができない」というもの ・その場合の対処方法は、おそらく、以下のURLにある通り、 https://github.com/chemerisuk/cordova-plugin-firebase-analytics 「pod repo update」のコマンドを打つこと ・Monacaで上記のコマンドを打つことができたらうまくいくかも? ・IOS_FIREBASE_POD_VERSIONの変数が関係しているかも? ・cordova-plugin-firebasexと競合するという情報もあるが、最新ソースだと解決するともあるが、関係があるか? よろしくお願いいたします。
Monacaサポートからの返信
はじめに、 Monacadで提供しております「Cordova 9.0」以降のiOSビルドサーバにつきましては、 ビルド時にCocoaPodsのCDNによりCocoaPods環境が構築される仕様になっており、 ビルド時には、最新のCocoaPods環境でビルドが行われます。 そのため、今回ご連絡いただいております「pod repo update」コマンドを 実行する必要は、ございません。 お客様のビルドログを拝見させていただきました。 下記のエラーが出力されております。 ■エラー内容: Failed to install 'cordova-plugin-firebase-analytics': Error: pod: Command failed with exit code 31 Error output: Failed to install 'cordova-plugin-firebase-dynamiclinks': Error: pod: Command failed with exit code 31 Error output: 上記のビルドエラーにつきましては、ビルドエラーに出力されている、 cordova-plugin-firebase-analytics cordova-plugin-firebase-dynamiclinks が、最新のCocoaPods環境に対応していないか、 対象プロジェクトに組み込まれている複数のサードパーティー製Cordovaプラグインで 使用されているCocoaPodsのバージョン設定等に競合が発生している可能性があります。 お手数をおかけいたしますが、 上記のビルドエラーに出力されているサードパーティー製Cordovaプラグインおよび、 ビルド時にCocoaPodsを使用している他のサードパーティー製Cordovaプラグインがある場合、 対象のCordovaプラグインに、CocoaPodsのバージョン指定ができる場合は、 CocoaPodsのバージョンを合わせてビルドをお試しください。 また、対象のCordovaプラグインが最新版ではない場合、 最新版では、ビルドエラーが解消されている場合もございますので、 あわせてご確認ください。 次に、大変申し訳ございませんが、 サードパーティー製のCordovaプラグインに関しましては、 弊社管轄外となるため、仕様等は把握できておりません。 また、サードパーティー製Cordovaプラグインにつきましては、 正常に動作する保証がないため、設定や使用方法等のサポートは、 行なっておりません。 ご了承のほど、よろしくお願いいたします。 サードパーティー製Cordovaプラグインの使用方法等につきましては、 Cordovaプラグイン提供元から公開されているドキュメント等をご確認いただくか、 GitHubのIssue等でCordovaプラグイン提供元へお問い合わせください。 サードパーティー製Cordovaプラグインの中には、 ビルドが失敗したり、ビルドが正常終了しても、 Monacaで使用することができないプラグインもございます。 また、プロジェクトに組み込まれている サードパーティー製Cordovaプラグインの組み合わせによっても、 ビルドに失敗する場合もございます。
補足情報
cordova-plugin-firebase-dynamiclinksとcordova-plugin-firebasexが競合関係にあるようです。どちらかだけだとビルドはうまくいきます。
AppleのAssociated Domainsの設定を有効にしたプロビジョニングファイルを使用しています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。