You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS Swift返回ViewController触发NSInvalidArgumentException错误求助

iOS返回ViewController时应用崩溃问题

问题描述

使用Swift开发iOS应用,从ViewController跳转到WebViewController的功能正常,但点击导航栏返回按钮回到ViewController时应用崩溃。

报错信息

默认对带有'get-task-allow'权限且链接旧SDK的进程或父应用启用检查。请使用inspectable API在新版SDK上启用检查。
2023-09-25 09:24:14.668225+0530 all in one tools[11108:2951385] -[GUL_all_in_one_tools.AppDelegate-EFDEC20C-4D84-4E03-99AF-EE650765ECFE window]: 无法识别发送到实例0x2811c0de0的选择器
2023-09-25 09:24:14.670287+0530 all in one tools[11108:2951385] *** 由于未捕获的异常'NSInvalidArgumentException'终止应用,原因:'-[GUL_all_in_one_tools.AppDelegate-EFDEC20C-4D84-4E03-99AF-EE650765ECFE window]: 无法识别发送到实例0x2811c0de0的选择器'
*** 首次抛出调用栈:
(0x1c22dd48c 0x1bb5bd050 0x1c243e424 0x1c4f07514 0x1c22f2700 0x1c235497c 0x10390d7bc 0x103c597a0 0x103c5b0e8 0x10390d734 0x10390f4dc 0x10390f3f4 0x102f6e380 0x102f6e3c4 0x1c427a9fc 0x1c469ff7c 0x1c4475744 0x1c43ac974 0x1c4453dbc 0x1c450000c 0x1c4a04d68 0x1c51cbfcc 0x1c433370c 0x1c43326c0 0x1c4331ecc 0x1c4331fcc 0x1c37819ec 0x103c597a0 0x103c6834c 0x103c67fa4 0x1c2365a2c 0x1c23496c8 0x1c234dda0 0x1f96bc998 0x1c45df80c 0x1c45df484 0x1ca561ddc 0x102f6ad4c 0x102f6acd4 0x102f6add0 0x1dfafc344)
libc++abi: 因未捕获的NSException类型异常终止
*** 由于未捕获的异常'NSInvalidArgumentException'终止应用,原因:'-[GUL_all_in_one_tools.AppDelegate-EFDEC20C-4D84-4E03-99AF-EE650765ECFE window]: 无法识别发送到实例0x2811c0de0的选择器'
因未捕获的NSException类型异常终止

跳转代码

@IBAction func flipTextBtn(_ sender: Any) {
    let ViewController:UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let desVC = ViewController.instantiateViewController(withIdentifier: "WebViewController") as! WebViewController
                                
    desVC.Title = "Title Here"
           
    self.navigationController?.pushViewController(desVC, animated: true)
}

解决方案

  1. 修复AppDelegate的window属性:iOS 13及以后版本中,AppDelegate不再默认包含window属性,需手动添加:

    var window: UIWindow?
    

    若使用SceneDelegate,需在scene(_:willConnectTo:options:)方法中正确初始化并关联window。

  2. 排查Firebase相关依赖:报错中的GUL_all_in_one_tools.AppDelegate-xxx类名表明问题与Google Utilities(Firebase依赖组件)的动态扩展有关,可尝试:

    • 将Firebase SDK更新至最新版本
    • 执行Cmd+Shift+K清理项目缓存后重新编译
  3. 检查WebViewController生命周期:确认WebViewController的deinit方法或返回时执行的代码中,是否存在不当调用AppDelegate的window属性的逻辑,及时修正。

  4. 替换强制类型转换:代码中as! WebViewController存在崩溃隐患,改为安全的可选绑定:

    guard let desVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "WebViewController") as? WebViewController else {
        return
    }
    

内容的提问来源于stack exchange,提问作者punjabidharti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 21:18:22