Saat mengintegrasikan mPaaS, SDK mPaaS dapat mengalami konflik dengan library open source atau pihak ketiga lainnya dalam proyek Anda, yang berpotensi menyebabkan kegagalan kompilasi. Topik ini menjelaskan solusi untuk dua jenis konflik umum.
Solusi dibagi menjadi dua kategori berdasarkan jenis library yang menyebabkan konflik:
Library kustom mPaaS: Jika konflik disebabkan oleh library kustom mPaaS, Anda harus menggunakan library mPaaS tersebut.
Library non-kustom mPaaS: Jika konflik disebabkan oleh library non-kustom mPaaS, Anda dapat menghapus library yang diimpor oleh mPaaS.
Solusi konflik library kustom mPaaS
Jika konflik disebabkan oleh library kustom mPaaS, Anda harus menggunakan library mPaaS tersebut.
Nama library open source | Nama library mPaaS | Solusi konflik |
AlipaySDK | AlipaySDK | Anda harus menggunakan versi mPaaS. Versi ini menyelesaikan konflik dengan modul-modul seperti mPaaS RPC dan UTDID. Anda juga harus mengintegrasikan komponen mPaaS_RPC. |
OpenSSL | APOpenSSL | Anda harus menggunakan versi mPaaS. Versi ini menyediakan optimisasi untuk algoritma kriptografi Tiongkok asli. Untuk informasi selengkapnya, lihat Cara mengatasi konflik library pihak ketiga OpenSSL dalam proyek iOS. |
protocolBuffers | APProtocolBuffers | Anda harus menggunakan versi mPaaS. |
Solusi konflik pustaka kustom Non-mPaaS
Jika konflik disebabkan oleh library non-kustom mPaaS, Anda dapat menghapus library yang diimpor oleh mPaaS. Tabel berikut mencantumkan library yang dapat dihapus. Untuk informasi selengkapnya, lihat Menghapus library pihak ketiga yang mengalami konflik.
Komponen yang didukung oleh remove_pod | Library open source yang disertakan |
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 |
Menghapus library pihak ketiga yang mengalami konflik
Jika konflik disebabkan oleh library non-kustom mPaaS, ikuti langkah-langkah berikut untuk menghapus library yang diimpor oleh mPaaS.
Prosedur
Instal versi beta plug-in cocoapods-mPaaS.
CatatanVersi beta plug-in cocoapods-mPaaS hanya didukung pada baseline 10.2.3.
sh <(curl -s http://mpaas-ios-test.oss-cn-hangzhou.aliyuncs.com/cocoapods/installmPaaSCocoaPodsPlugin.sh)Setelah instalasi selesai, jalankan perintah
pod mpaas version --pluginuntuk memastikan bahwa plug-in tersebut merupakan versi beta.Jalankan perintah
pod mpaas update 10.2.3untuk memperbarui baseline lokal.Sebelum menjalankan perintah
mPaaS_pod, tambahkanremove_pod "mPaaS_xxx"ke dalamPodfile. Sebagai contoh, tambahkanremove_pod "mPaaS_SDWebImage"sebelummPaaS_pod "mPaaS_CommonUI"untuk menghapusSDWebImage.remove_pod "mPaaS_SDWebImage" mPaaS_pod "mPaaS_CommonUI" pod 'xxx' # The corresponding native third-party libraryPentingPada kode di atas, jika Anda menggunakan pod AMapSearch, tentukan nomor versinya:
pod 'AMapSearch', '9.3.1'.Setelah menghapus library komponen mPaaS, jalankan perintah
pod installuntuk mengimpor versi native.