背景
iOS 13 已經於 2019 年 9 月 20 日正式發布。在 iOS 13 beta 及正式版的測試中,發現系統的部分行為發生了變化,因此 App 需要進行適配,否則可能會出現功能異常、Crash 等問題。
在 mPaaS 適配之前,在 iOS 13 裝置上,Xcode 10 構建的 mPaaS SDK 受到的影響主要為:由於 iOS 13 最佳化了 App 啟動,修改了鏡像的載入機制,導致系統 category 可能會覆蓋 SDK 中定義的 category 方法,進而導致自訂的方法無法返回預期結果。
mPaaS 作為基礎庫,目前 10.1.60.26 及以後的版本已經完成了 Xcode 11 構建下的 iOS 13 的適配工作。
升級 SDK/組件
基於 CocoaPods 升級
按照以下步驟,即可安裝 10.1.60 版本的最新 SDK:
首先確保 Podfile 中 mPaaS 組件的版本號碼為 10.1.60。
執行
pod mpaas update 10.1.60
。 如果提示命令報錯,需通過pod mpaas update --all
命令先更新外掛程式,再重新執行。執行
pod install
。
API 變更
mPaaS 組件在 10.1.32 及以上版本中添加了適配層,建議您在升級 SDK 後使用適配層的 API,具體可參考以下各組件文檔中的舊版本升級注意事項:
強烈建議您修改代碼,使用中介層(適配器)方法而非直接使用底層方法。因為某些底層方法可能會在將來的版本中發生變更或廢棄,如果您繼續使用,在將來的更新中可能需要花費更多的時間進行適配。
定製庫處理
10.1.60 版本各組件合入了定製化的需求,但是為了穩妥起見,如果此前您的依賴中包含定製庫,則需要按以下情況處理:
如果您是從低版本 SDK(例如 10.1.20)升級至 10.1.60 版本,您的定製庫可能需要基於新版本重新定製,請加入DingTalk答疑群 41708565 聯絡 mPaaS 技術服務人員確認。
如果您已使用 10.1.60 版本,則只需更新部分組件。參見下文的 適配 iOS 13 更新的庫清單,檢查您的定製庫是否包含在其中。
如果不包含,您可繼續使用該定製庫。
如果包含,您的定製庫可能需要重新定製,請加入DingTalk答疑群 41708565 聯絡 mPaaS 技術服務人員。
適配 iOS 13 更新的庫清單
mPaas
MPDataCenter
MPPushSDK
APMultimedia
BEEAudioUtil
BeeCapture
BeeCityPicker
BeeMediaPlayer
BeePhotoBrowser
BeePhotoPicker
NebulaAppBiz
NebulaBiz
NebulaSecurity
NebulaKernel
NebulaSDKPlugins
NebulaSDK
NebulaConfig
NebulaTinyAppDebug
NebulaNetwork
TinyAppCommon
APConfig
AntUI
MPPromotion
BeeLocation
MPMpaaSService
TinyAppService
AMap