iOS18 MSSBrowse闪退
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