iOS13适配:UISearchDisplayController is no longer supported when linking against this version of iOS

最近有一个项目一直无法通过苹果审核,苹果的回复是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即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容