首页 > 其他分享 >-[AppDelegate window]: unrecognized selector sent to instance

-[AppDelegate window]: unrecognized selector sent to instance

时间:2024-08-24 12:52:42浏览次数:15  
标签:selector Appdelegate instance window SceneDelegate AppDelegate sent 属性

由于一直以来都是在已创建好的项目工程里做开发,所以对工程创建时遇到的一些问题已经记不太清了。
参考以前的老教材中是直接在Appdelegate的.m文件中初始化了self.window,但实际使用时,会产生如下错误:
-[AppDelegate window]: unrecognized selector sent to instance
原因:
根据描述得知是appdelegate中找不到window这个方法,很奇怪,那调用到的self.window是什么呢?为何没产生编译错误
使用新版Xcode(用的是15.2)创建的项目,AppDelegate里没有window这个属性,所以通过UIApplication.sharedApplication.delegate.window来取window这个属性是取不到的,所以闪退。

从iOS13开始,原本AppDelegate(UIApplicationDelegate)控制生命周期的行为移交给了SceneDelegate(UIWindowSceneDelegate)。
AppDelegate.h中没有了window,window移到了SceneDelegate.h
具体见:iOS13生命周期的改动

解决办法:不使用场景Scene
想起来现有的项目工程里都在Appdelegate的.h文件里加了window属性,果然,在.h中加了window属性之后一切都迎刃而解了
1、删除UIApplicationSceneManife(info.plist里的Application Scene Manifest)
2、在Appdelegate.m中注释掉scene有关的代码
3、在AppDelegate.h中添加window属性

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow * window;

@end

标签:selector,Appdelegate,instance,window,SceneDelegate,AppDelegate,sent,属性
From: https://blog.csdn.net/qq_39773151/article/details/141035806

相关文章

  • windows系统蓝屏怎么办_Windows系统蓝屏原因查找及解决方法
    电脑蓝屏怎么办?windows蓝屏是十分常见的故障,也是十分难以解决的问题,例如软件冲突兼容性问题、系统补丁bug、超频不当、系统文件损坏、硬件驱动兼容性、虚拟内存设置不当、电脑硬件温度过高、内存硬盘等硬件损坏、内存松动等均可能造成电脑蓝屏,正因为可能性太多了,只有对症下药......
  • DaVinci Resolve Studio 19.0 正式版 (macOS, Windows) - 剪辑、调色、特效和音频后期
    DaVinciResolveStudio19.0正式版(macOS,Windows)-剪辑、调色、特效和音频后期制作BlackmagicDesignDaVinciResolveStudio请访问原文链接:https://sysin.org/blog/davinci-resolve/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgDaVinciResolve19免费!......
  • Nexpose v6.6.266 for Linux & Windows - 漏洞扫描
    Nexposev6.6.266forLinux&Windows-漏洞扫描Rapid7VulnerabilityManagement,releaseAug21,2024请访问原文链接:https://sysin.org/blog/nexpose-6/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org您的本地漏洞扫描程序搜集通过实时覆盖整个网络,随......
  • TF SD卡突然容量变小或者名字改变并且电脑就算格式化也恢复不了原状态或者干脆windows
    我自己是因为在使用canmv系统驱动k210时把系统镜像下载到了sd tf卡中导致tf卡系统发生改变,32g变16mb而且名字也变成boot这是因为你下载的系统镜像把原来的fat32或者其他常用sd tf卡系统代替了,导致电脑识别时,你现在的sd卡系统把总大小减去自己系统所需大小剩下的剩余可用......
  • PyQt5 / PySide 2 + Pywin32 自定义标题栏窗口 + 还原 Windows 原生窗口边框特效
    Bug:当窗口不处于顶层时,如果点击窗体试图将其置于顶层,窗体自带的白边框会突然显示,最长两秒。完整性:尚未添加窗口状态的过渡动画和淡入、淡出动画。其他问题:由于Qt官方在版本6去掉了QtWin,目前暂未找到PyQt6/PySide6的解决方案。准备工作:在同目录下放四张照片:m......
  • windows核心编程 内核对象,创建进程(CreateProcess),管道(CreatePipe)
    windows核心编程内核对象,创建进程(CreateProcess),管道(CreatePipe)windows核心编程内核对象,创建进程(CreateProcess),管道(CreatePipe)文章目录windows核心编程内核对象,创建进程(CreateProcess),管道(CreatePipe)主进程创建子进程并运行Ping命令主进程创建子进程并运行Ping......
  • 编程达人Windows核心编程 第18章 演示如何使用堆
    18_Heap.cpp演示如何使用堆18_Heap.cpp演示如何使用堆文章目录18_Heap.cpp/*------------------------------------------------------------------------18_Heap.cpp演示如何使用堆----------------------------------------------------------------------......
  • WPF ystem.Windows.Markup.XamlParseException HResult=0x80131501 Message='Spec
    System.Windows.Markup.XamlParseExceptionHResult=0x80131501Message='Specifiedclassname'WpfApp268.MainWindow'doesn'tmatchactualrootinstancetype'System.Windows.Window'.RemovetheClassdirectiveorprovideanin......
  • windows下安装es与elasticsearch报错
    发现网上很少关于windows安装elasticsearch的文章,所以本人结合一天的报错,解决问题的过程,写一下这篇文章,希望对大家有用,有帮助的话请点一个免费的赞,谢谢。安装es下载:点击https://www.elastic.co/cn/downloads/elasticsearch-->点击'Viewpastreleases'-->下拉栏中,找到7.10......
  • 【软件逆向】第11课,软件逆向安全工程师之windows API函数,每天5分钟学习逆向吧!
    资料获取关注作者,备注课程编号,获取本课配套课件和工具程序。干货开始-windowsAPI函数。微软官方提供的应用程序接口,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件提供的能力。地址:https://learn.microsoft.com/zh-cn/windows/win32/dlgbox/dialo......