iOS18 MSSBrowse閃退
- 問題
- 方案
- 結果
問題
最近升級了電腦系統(15.4.1),并且也升級了xcode(16.3)開發工具。之后打包公司很早之前開發的項目。
上線之后發現在蘋果手機系統18以上,出現了閃退問題。
涉及到的是第三方MSSBrowse,在選擇圖片放大的時候會出現APP卡頓及閃退問題。
經過斷點排查發現是第三方的MSSBrowseBaseViewController.m文件里面出現的問題。下面是解決方法。
方案
打開第三方MSSBrowseBaseViewController.m文件。
找到createBrowseView方法,將里面的
_browseRemindView = [[MSSBrowseRemindView alloc]initWithFrame:_bgView.bounds];[_bgView addSubview:_browseRemindView];
修改為
if([[[UIDevice currentDevice]systemVersion]floatValue] >= 18.0){[_bgView addSubview:_browseRemindView];
}else{_browseRemindView = [[MSSBrowseRemindView alloc]initWithFrame:_bgView.bounds];[_bgView addSubview:_browseRemindView];
}
結果
出現這個問題,可能是 iOS 18 引入的更嚴格的視圖層級管理規則。
最終結果如下圖
下面是修改后的文件,在項目中使用正常
MSSBrowseBaseViewController.m