iOS13适配:UISearchDisplayControlle
最近有一个项目一直无法通过苹果审核,苹果的回复是App在iOS13上会崩溃。但是自己在真机上测试却一直没有闪退。
苹果被拒审核说明使用了简友的文章《苹果审核被拒后,返回崩溃日志应该怎么分析处理》 自行解析日志后,发现并没有解析成功(按照步骤解析后仍显示一堆内存地址,不显示具体类和方法)。
于是又集成Bugly再次提交,再次崩溃后发现Bugly报错如下:UISearchDisplayController is no longer supported when linking against this version of iOS. Please migrate your application to UISearchController.
Bugly崩溃日志原来是UISearchDisplayController在iOS8.0就被苹果弃用,在iOS13上会强制崩溃。如果项目中使用了此类,在iOS13以后需要更换为UISearchController。
UISearchDisplayController文档说明到这里终于真相大白,满心欢喜的去项目中搜索UISearchDisplayController,替换即可!
但是在项目中无法搜索到这个类,这就尴尬了。
搜索无结果这苹果不是带我玩吗?没用到为啥还说我用了?各种搜索没有发现问题,最后功夫不负有心人,在老外的帮助下解决了这个问题:
搜到了...项目中搜索 SearchDisplayController 即可。
以源码形式打开xib或storyboard文件时,会发现源码中是以searchDisplayController节点来替代UISearchDisplayController的。所以造成了搜索不到UISearchDisplayController的现象。
接下来问题就很简单了,使用UISearchController替代UISearchDisplayController即可。