mPaaS を統合する際、mPaaS SDK がプロジェクト内の他のオープンソースライブラリやサードパーティライブラリと競合することがあります。これらの競合により、コンパイルが失敗する可能性があります。このトピックでは、2 つの一般的な競合タイプに対するソリューションについて説明します。
ソリューションは、競合を引き起こすライブラリのタイプに基づいて、2 つのカテゴリに分類されます。
mPaaS カスタムライブラリ:競合が mPaaS のカスタムライブラリによって引き起こされる場合は、mPaaS のライブラリを使用する必要があります。
mPaaS 非カスタムライブラリ:競合が mPaaS の非カスタムライブラリによって引き起こされる場合は、mPaaS がインポートしたライブラリを削除できます。
mPaaS カスタムライブラリの競合ソリューション
競合が mPaaS のカスタムライブラリによって引き起こされる場合は、mPaaS のライブラリを使用する必要があります。
オープンソースライブラリ名 | mPaaS ライブラリ名 | 競合の解決 |
AlipaySDK | AlipaySDK | mPaaS バージョンを使用する必要があります。このバージョンは、mPaaS RPC や UTDID などのモジュールとの競合を解決します。また、mPaaS_RPC コンポーネントも統合する必要があります。 |
OpenSSL | APOpenSSL | mPaaS バージョンを使用する必要があります。このバージョンは、オリジナルの中国暗号アルゴリズムに対して最適化を提供します。詳細については、「iOS プロジェクトにおける OpenSSL サードパーティライブラリの競合を解決する方法」をご参照ください。 |
protocolBuffers | APProtocolBuffers | mPaaS バージョンを使用する必要があります。 |
mPaaS 以外のカスタムライブラリ競合のソリューション
競合が 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 | SecurityGuardSGMain |
mPaaS_APWebP | WebP |
競合するサードパーティライブラリの削除
競合が 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コマンドを実行して、ローカルベースラインを更新します。mPaaS_podコマンドを実行する前に、Podfileにremove_pod "mPaaS_xxx"を追加します。たとえば、mPaaS_pod "mPaaS_CommonUI"の前にremove_pod "mPaaS_SDWebImage"を追加してSDWebImageを削除します。remove_pod "mPaaS_SDWebImage" mPaaS_pod "mPaaS_CommonUI" pod 'xxx' # 対応するネイティブサードパーティライブラリ重要上記のコードで AMapSearch Pod を使用する場合は、バージョン番号を指定してください:
pod 'AMapSearch', '9.3.1'。mPaaS コンポーネントライブラリを削除した後、
pod installコマンドを実行してネイティブバージョンをインポートします。