首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS应用程序崩溃,出现错误UISearchDisplayControllerNoLongerSupported

UISearchDisplayController 是 iOS 开发中的一个类,用于在应用中实现搜索功能。然而,从 iOS 8 开始,UISearchDisplayController 已经被弃用,并在后续版本中被 UISearchController 所取代。因此,如果你在较新的 iOS 版本上运行使用 UISearchDisplayController 的应用,可能会遇到崩溃的问题。

基础概念

  • UISearchDisplayController: 是一个用于显示搜索结果的控制器,它管理一个搜索栏和一个用于显示搜索结果的视图控制器。
  • UISearchController: 是 UISearchDisplayController 的后继者,提供了更灵活的搜索界面和更好的集成。

相关优势

  • UISearchController 提供了更好的性能和更现代的用户界面。
  • 它支持实时搜索建议和搜索结果的动态更新。
  • 更容易与其他 UI 组件集成。

类型与应用场景

  • UISearchController: 适用于需要在应用中实现搜索功能的所有场景,特别是在 iOS 8 及以上版本的应用中。

遇到的问题及原因

问题: 应用程序崩溃,出现错误 UISearchDisplayControllerNoLongerSupported原因: 使用了已经被弃用的 UISearchDisplayController 类,在 iOS 8 及以上版本中不再支持。

解决方法

UISearchDisplayController 替换为 UISearchController。以下是一个简单的示例代码,展示如何进行替换:

代码语言:txt
复制
import UIKit

class ViewController: UIViewController, UISearchResultsUpdating {
    
    var searchController: UISearchController!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 初始化 UISearchController
        searchController = UISearchController(searchResultsController: nil)
        searchController.searchResultsUpdater = self
        searchController.obscuresBackgroundDuringPresentation = false
        searchController.searchBar.placeholder = "Search"
        
        // 将搜索栏添加到导航栏
        navigationItem.searchController = searchController
        definesPresentationContext = true
    }
    
    // 实现 UISearchResultsUpdating 协议的方法
    func updateSearchResults(for searchController: UISearchController) {
        // 处理搜索逻辑
    }
}

注意事项

  • 确保在 Info.plist 文件中设置 UIRequiresFullScreenYES,以避免在某些设备上出现界面显示问题。
  • 如果应用需要支持 iOS 7 或更早版本,可以考虑使用条件编译来处理不同版本的兼容性问题。

通过以上步骤,你可以将应用中的 UISearchDisplayController 替换为 UISearchController,从而避免在较新版本的 iOS 上出现崩溃问题,并提升用户体验。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

GCDAsyncSocket 在 iOS15 出现 - 崩溃排查笔记

本文会通过对 NSThread 的原理进行分析,对 iOS 15 开始出现的 [_NSThreadPerformInfo dealloc] 相关崩溃进行定位,并提供相应的解决方案 一、背景 从 iOS...15.0 Beta5 开始,集成开源库 GCDAsyncSocket 的 APP 开始出现 -[_NSThreadPerformInfo dealloc] 相关的崩溃 Crash on iOS 15.0...现在,我们对前面的内容进行一下总结: 当出现悬垂指针并且悬垂指针指向的地址被其它代码重新申请后进行赋值操作,并且新值不符合 isTaggedPointer 规定,随后通过isa--> class-->...bits 进行内存读取操作时就会触发崩溃。...(2.0), watchos(2.0), tvos(9.0)); 七、解决方案 因为崩溃的原因是调用performSelector:onThread:时,参数会被系统私有类持有导致崩溃,所以,我们可以通过以下方案解决

3.9K71

XP出现应用程序错误怎么办

电脑用久了总是会出现这样或者那样的问题,其中最常见的就是应用程序错误了。相信很多用户都遇到过应用程序错误,但是却不知道怎么办?其实解决方法很简单,下面就由小编教大家XP出现应用程序错误的解决方法吧!...方法/步骤: 1、当某一应用程序在运行时报错,可采用重新安装程序的方法来尝试解决问题。小编在此建议一种合理的重装的方法,就是先完全卸载原来的程序,再运行安装程序进行重装。...2、如果重新安装应用程序的方法无法解决遇到的方法,则我们可以采用regsvr32命令将动态链接库文件重新注册一下。具体操作方法:打开“运行”对话框,输入命令“CMD”进入MSDOS界面。...\*.dll) do regsvr32.exe /s %1 复制代码 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1 转:XP XP出现应用程序错误怎么办

1.2K30
  • 为什么你的 Qt 应用程序会出现 xcb 插件错误

    有朋友咨询为什么他们的 Qt 应用程序在统信 UOS ARM 版本下运行,提示如下错误: qt.qpa.plugin: Could not find the Qt platform plugin "xcb...这个错误比较常见,通常是 Qt 应用程序编译后,直接在 debug 或 release 目录下直接运行应用程序。 在回答这个问题之前,先了解一下 xcb 和 Qt xcb 插件。 1....一般来说,出现这个错误是 Qt 应用程序找不到 libqxcb.so 这个插件。将插件打包到应用程序中即可,方法如下: 1. 找到 qxcb 插件。...将插件放置到应用程序的目录中。在应用程序的根目录下创建一个 platforms 文件夹,并将 libqxcb.so 复制到其中。 3. 设置插件搜索路径。.../platforms"); 朋友按照这样做了之后,仍然提示上面的错误。

    29510

    【重磅推荐】2015年移动应用质量大数据报告

    按月去重统计,则每月有高达 1.8 亿 的设备遭遇应用崩溃。 3每天有大量用户会遇到多次应用崩溃 应用程序发生崩溃,通常表现在你打开,或者试运行它的时候立即退出。...有时候一个应用程序的崩溃可能在你开启它的一瞬间就会发生,或者在你不希望停下的时候发生,每次崩溃都会导致大量用户卸载应用。...10空指针异常是 Java 代码最常出现的错误 30% 的 Android 应用崩溃是由于 Java 空指针异常引起的。...但 iOS 7 和 iOS 8 仍然占据一定的市场比例;各系统版本的崩溃率从高到低整体上是 iOS 7 > iOS 9 > iOS 8,在应用开发适配系统版本时,iOS 8 系列版本仍是当前适配最好的,...17非法参数异常是 Objective - C 代码最常出现的错误 iOS应用崩溃中,非法参数异常是 Objective - C 代码最常出现的错误,所以平时在写代码的时候,需要多加注意传参的检查,避免传入非法参数导致异常

    96730

    【重磅推荐】2015年移动应用质量大数据报告

    按月去重统计,则每月有高达 1.8 亿 的设备遭遇应用崩溃。 ? 3.每天有大量用户会遇到多次应用崩溃 应用程序发生崩溃,通常表现在你打开,或者试运行它的时候立即退出。...有时候一个应用程序的崩溃可能在你开启它的一瞬间就会发生,或者在你不希望停下的时候发生,每次崩溃都会导致大量用户卸载应用。 ?...10.空指针异常是 Java 代码最常出现的错误 30% 的 Android 应用崩溃是由于 Java 空指针异常引起的。 ?...但 iOS 7 和 iOS 8 仍然占据一定的市场比例;各系统版本的崩溃率从高到低整体上是 iOS 7 > iOS 9 > iOS 8,在应用开发适配系统版本时,iOS 8 系列版本仍是当前适配最好的,...17.非法参数异常是 Objective - C 代码最常出现的错误 iOS应用崩溃中,非法参数异常是 Objective - C 代码最常出现的错误,所以平时在写代码的时候,需要多加注意传参的检查,避免传入非法参数导致异常

    1.7K60

    如何在iPhone设备中查看崩溃日志

    引言 当你的iPhone设备崩溃、冻结或自动重启时,不要担心。崩溃可能是由任何硬件驱动或iPhone设备错误造成的。在这种情况下,崩溃日志可以提供有用的信息,帮助你找到崩溃的原因。...大多数计算机用户认为,系统崩溃的主要原因是困难的,因为各种因素都可能参与到系统崩溃中。尽管如此,微软的iPhone设备组件很少会对这些崩溃负责。相反,这些崩溃是由错误的硬件驱动或第三方软件安装造成的。...系统过热:当系统过热时,不同的系统组件无法正常工作,从而导致iPhone设备崩溃或冻结。 硬盘故障:如果你的计算机硬盘出现问题,会导致iPhone设备崩溃。...内存故障:如果你的系统中的RAM出现故障,iPhone设备将难以从内存中检索数据。每当iPhone设备试图从内存中恢复数据时,RAM故障可能导致系统崩溃或冻结。...使用克魔助手查看iPhone设备中的崩溃日志 克魔助手是一款为苹果手机iOS应用开发设计的辅助工具,提供了app实时日志、奔溃日志分析等功能,有助于高效地开发和调试iOS应用程序。

    46610

    如何解决Xcode中的SIGABRT错误

    一分钟,您的iOS应用程序可以在Xcode中正常运行,而下一分钟,它由于不可思议的SIGABRT错误而崩溃了。这是怎么回事!?...错误SIGABRT代表“信号中止”。这是由iOS(操作系统)发送到正在运行的应用的信号,由于运行时错误,该信号将立即退出该应用。...一个异常断点时的异常在你的代码出现被触发。您无需指示调试器在哪一行上触发断点,而是指示调试器暂停代码执行以防出现异常。 发生异常时,异常断点对于检查代码很有用。...请记住,异常并不一定会使您的应用程序崩溃!因此,每当启用异常断点并发生异常时,您的应用程序便会暂停。带有断点的代码暂停与应用程序崩溃不同,因此请不要让它造成混淆。...例如,异常断点将由不满足的约束异常触发,但这不会使您的应用程序崩溃。使用异常断点收集SIGABRT崩溃的其他信息,然后在解决该错误后将其禁用(直到再次需要它)。

    6.1K20

    app自动化面试题

    当某个应用程序进程被杀掉后,所有依赖于该进程的服务也会停止运行(正在听音乐,然后把音乐程序退出) 5 App测试中ios和Android有哪些区别呢?...7App出现crash原因有哪些? 为什么App会出现崩溃呢?...百度了一下,查到和App崩溃相关的几个因素:内存管理错误,程序逻辑错误,设备兼容,网络因素等,如下: 1.内存管理错误:可能是可用内存过低,app所需的内存超过设备的限制,app跑不起来导致App crash...方法一:app开发保存错误日志到本地 一般app开发在debug版本,出现anr和crash的时候会自动把日志保存到本地实际的sd卡上,去对应的app目录取出来就可以了 方法二:实时抓取 可以自己开着logcat...Appium是一个免费分发的开源移动应用UI测试框架,可以对android及ios系统的app进行自动化测试 12 解释移动应用程序中如何查找DOM元素 要找到DOM元素,使用“UIAutomateviewer

    1.4K20

    技术分享 | App常见bug解析

    界面展示错乱 产品界面上的元素展示重叠(如下图),这类型的错误一般是前端代码问题。 界面展示后台信息 前端页面展示了不应该出现的后端日志信息(如下图),这类的错误一般是由于后端服务错误导致。...推送信息错误 推送消息中包含了不正确的内容(如下图),此类问题一般是后端服务错误导致的。 崩溃 崩溃是 app 很常见的一类 Bug。...比如用户正在使用某个 app,突然应用就停止响应,界面上弹出【强制关闭错误】的窗口需要强制关闭应用。而 iOS 的 app 则很多使用就会出现闪退的现象。...设备的多样性造成了手机更加容易出现 app 的崩溃,通常在网络异常时 app 上还在进行数据交互,即会出现崩溃。...性能Bug 加载速度慢 应用程序第一次启动速度慢 进入到某一个界面加载速度慢 启动某一个有动画效果的界面,动画执行过程加载速度慢并且有卡顿 响应某一个用户事件时,长时间无响应(ANR) 其他 太占用手机内存

    65730

    Bugless 异常监控系统 (iOS端)

    它的主要功能: 实时监控SDK业务异常 汇总包体崩溃排重与聚合后的数据 统计影响设备数 上报崩溃日志 收集iOS系统向上兼容性问题 监控客户端请求的网络问题 崩溃和异常 在讲解 Bugless 之前,让我们从三个层面来介绍,让大家认识App为什么会出现崩溃和异常,以及如何应对。...2.1、App 层面 App 出现崩溃(crash)原因,是因为违反iOS系统运行规则导致的,产生crash的三种类型: 2.1.1 内存引发闪退。...Unix 信号的种类有很多,在 iOS 应用程序中,常见的 Unix 信号有如下几种: SIGILL:程序非法指令信号,通常是因为可执行文件本身出现错误,或者试图执行数据段。...3)通过检查返回的数据是不是预期的JSON格式,监测是否出现域名劫持的情况。

    2.6K30

    技术分享 | App常见bug解析

    [850269ad71a52d7b9ce0cc6df0d6b3ccf4d779fc.png] 界面展示后台信息 前端页面展示了不应该出现的后端日志信息(如下图),这类的错误一般是由于后端服务错误导致。...比如用户正在使用某个 app,突然应用就停止响应,界面上弹出【强制关闭错误】的窗口需要强制关闭应用。而 iOS 的 app 则很多使用就会出现闪退的现象。...设备的多样性造成了手机更加容易出现 app 的崩溃,通常在网络异常时 app 上还在进行数据交互,即会出现崩溃。...性能Bug 加载速度慢 应用程序第一次启动速度慢 进入到某一个界面加载速度慢 启动某一个有动画效果的界面,动画执行过程加载速度慢并且有卡顿 响应某一个用户事件时,长时间无响应(ANR) 其他 太占用手机内存...太耗电和流量 在使用应用的过程中,点击某一个事件进入的页面出现白屏的闪动等

    49140

    【总结】ios端被忽略的文件容错测试

    点击表情键盘的“颜文字icon”后崩溃 2....newInfo.plist文件丢失,客户端未进行相关容错保护,所以出现以上问题 思考总结 虽然ios端有沙盒机制,底层数据一般不会被恶意删除或修改,但是依然存在文件丢失问题,所以iOS端也需要针对本地文件进行容错...1.了解ios的文件存储方式 iOS沙盒机制 应用程序只能在该程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表...Caches 目录:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。 3) Tmp 目录:这个目录用于存放临时文件,当iOS设备重启时,文件会被自动清除。...3.文件容错测试检查内容 文件或文件夹的检查 1)文件或文件夹不存在 2)文件或文件名称与预期不符 3)文件或文件夹损坏 文件内容的检查 1)文件内容为空 2)文件中的字段被删除 3)文件中的字段类型错误

    1.3K50

    Swift入门:怎样安装Xcode和创建Playground

    watchOS是苹果最小的操作系统的名字,负责运行本机应用程序,并从手机发送通知。 Swift是苹果的现代编程语言,允许你为iOS、macOS和其他平台编写应用程序。...iOS Simulator(模拟器)是Xcode附带的一个工具,它的外观和工作方式几乎与真正的iPhone或iPad一模一样。它可以让你很快地测试iOS应用程序,而不必使用真正的设备。...你不会用它们来构建真正的应用程序,但它们对学习很有帮助。我们将在这个介绍中使用操场。 Crashes(崩溃)是指你的代码出现灾难性错误,你的应用无法恢复。...如果用户正在运行你的应用程序,它将消失,他们将回到主屏幕上。如果你在Xcode中运行,你会看到一个崩溃报告。 Taylor Swift与Swift编程语言无关。...image Xcode会问你是否想为iOS或macOS创建一个Playground,但这里并不重要——这篇介绍几乎完全是关于Swift语言的,没有用户界面组件。为避免出现问题,请选择“iOS”平台。

    6.2K10

    听云SDK发布《中国移动应用性能管理白皮书》:高德路径规划API接口响应耗时最短

    据统计,74%以上的用户在应用性能问题面前会选择沉默或离开,而在移动应用出现性能问题导致延时响应10秒后,有近5%的真实用户会放弃使用该应用。...报告显示:   从整体来看,iOS应用崩溃率远高于Android,基本是Android应用平均崩溃率的5倍。   iOS应用在2016年6月-8月崩溃现象尤其突出,或与新版本发布有关。   ...1 、 Android 和 iOS 系统下,各行业崩溃率表现不同 ?   Android系统中,崩溃率最高的为航空行业,崩溃率为2.05%。   ...在Android和iOS网络错误的对比中看出,两种系统的错误类型存在明显差异。   ...另外,报告中还提到了在iOS & Android两大平台下,崩溃率最高的TOP10应用系统版本、主流品牌手机排名前20的机型应用崩溃情况、不同性能指标下全国各地区分布情况、应用网络错误率及原因分布等重要性能数据

    1.7K50
    领券