mPaaS にアクセスすると、mPaaS SDK がプロジェクトに導入された他のオープンソースライブラリまたはサードパーティライブラリと競合し、プロジェクトのコンパイルが失敗することがあります。このトピックでは、2 つの一般的な競合の解決策について説明します。
競合の原因となるライブラリのタイプに基づいて、2 つのカテゴリのソリューションが利用可能です。
mPaaS カスタムライブラリ: mPaaS SDK のカスタムライブラリがプロジェクト内の他のライブラリと競合する場合は、これらのカスタム mPaaS ライブラリを使用する必要があります。
mPaaS 以外カスタムライブラリ: 競合する mPaaS SDK ライブラリが mPaaS カスタムライブラリでない場合は、mPaaS によって導入されたライブラリを削除できます。
競合する mPaaS カスタムライブラリの解決策
競合する mPaaS SDK ライブラリがカスタムライブラリである場合は、これらのカスタム mPaaS ライブラリを使用する必要があります。
オープンソースライブラリ名 | mPaaS ライブラリ名 | 競合の解決策 |
AlipaySDK | AlipaySDK | mPaaS RPC や UTDID などのモジュールとの競合を解決する mPaaS バージョンを使用する必要があります。同時に、mPaaS_RPC コンポーネントを統合する必要があります。 |
OpenSSL | APOpenSSL | 元の国密アルゴリズムを最適化する mPaaS バージョンを使用する必要があります。詳細については、「iOS プロジェクトでの OpenSSL の競合を解決する方法」をご参照ください。 |
protocolBuffers | APProtocolBuffers | mPaaS バージョンを使用する必要があります。 |
mPaaS 以外カスタムライブラリの解決策
競合する mPaaS SDK ライブラリが mPaaS カスタムライブラリでない場合は、mPaaS によって導入されたライブラリを削除できます。削除可能なライブラリを次の表に示します。詳細については、「競合するサードパーティライブラリを削除する」をご参照ください。
remove_pod でサポートされているコンポーネント | 含まれるオープンソースライブラリ |
mPaaS_SDWebImage | SDWebImage |
mPaaS_Masonry | Masonry |
mPaaS_MBProgressHud | MBProgressHUD |
mPaaS_TTTAttributedLabel | TTTAttributedLabel |
mPaaS_Lottie | Lottie |
mPaaS_AMap | AMapSearchKit |
AMapFoundationKit | |
MAMapKit | |
mPaaS_Security | SecurityGuard SGMain |
mPaaS_APWebP | WebP |
競合するサードパーティライブラリを削除する
競合する mPaaS SDK ライブラリが mPaaS カスタムライブラリでない場合は、次の手順に従って mPaaS によって導入されたライブラリを削除できます。
プロシージャ
cocoapods-mPaaS プラグインのベータ版をインストールします。
説明cocoapods-mPaaS プラグインのベータ版は、10.2.3 ベースラインでのみサポートされています。
sh <(curl -s http://mpaas-ios-test.oss-cn-hangzhou.aliyuncs.com/cocoapods/installmPaaSCocoaPodsPlugin.sh)インストールが完了したら、
pod mpaas version --pluginコマンドを実行して、インストールされているバージョンがベータ版であることを確認します。pod mpaas update 10.2.3コマンドを再度実行して、ローカルベースラインを更新します。remove_pod "mPaaS_xxx"を podfile に導入し、必ず remove_pod を一般的な mPaaS_pod コマンドの前に配置してください。たとえば、SDWebImage を削除するには、remove_pod “mPaaS_SDWebImage” コマンドを実行します。
remove_pod "mPaaS_SDWebImage" mPaaS_pod "mPaaS_CommonUI" pod 'xxx' # The corresponding third-party native librarymPaaS コンポーネントライブラリを削除したら、
pod installコマンドを実行してネイティブバージョンを導入できます。