用XCode11新建一个工程支持的最小iOS版本小于iOS13的话,XCode控制台会爆出[Application] The app delegate must implement the window property if it wants to use a main storyboard file.的提示。遇到了这个问题,在打开APP内容的时候一片黑,如何解决呢?其实很简单啊。Apple对APP的生命周期略做了更改。
原因:
在iOS13中,AppDelegate
把iOS13之前的那些管理整个App生命周期等的任务都委托给了SceneDelegate
,所以原来AppDelegate
的window
属性自然也就跑到SceneDelegate
里面去了:
而这个SceneDelegate
class又被我们标注了只能iOS13可以用,也就是说iOS13以下版本的iPhone是不会执行整个SceneDelegate
class的代码的,所以在低版本中系统就找不到window
属性。
解决方案
//这句话,添加到图中的位置即可。
@synthesize window = _window;