Xcode11 删除storyboard
Xcode 11中创建一个名为的新项目时,多了一个新类SceneDelegate:
删除main.storyboard — 删除info.plist storyboard name main general 删掉 main interface 内main
不一样:之前在AppDelegate
在screenDelegate.m 写入UIWindow
self.window = [[UIWindow alloc] initWithWindowScene:scene];
新的Xcode项目时,你会看到你的AppDelegate分为两部分:AppDelegate和SceneDelegate这是iPadOS带来的新的多窗口支持的结果,并且有效地将应用程序委托的工作分成两部分。
从iOS 13开始,您的应用代表应该:
- 设置应用程序期间所需的任何数据。
- 响应任何专注于应用的事件,例如与您共享的文件。
- 注册外部服务,例如推送通知。
- 配置您的初始场景。
相比之下,场景代表可以处理应用程序用户界面的一个实例。因此,如果用户创建了两个显示您的应用程序的窗口,则您有两个场景,均由同一个应用程序委托支持。
请记住,这些场景旨在彼此独立工作。因此,您的应用程序不再移动到后台,而是单个场景执行 - 用户可以将一个移动到后台,同时保持另一个打开。
在iOS 13中的新顶级对象是一个UIWindowScene