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