用XCode11新建一個(gè)工程支持的最小iOS版本小于iOS13的話汰扭,XCode控制臺(tái)會(huì)爆出[Application] The app delegate must implement the window property if it wants to use a main storyboard file.的提示天揖。遇到了這個(gè)問(wèn)題遭庶,在打開(kāi)APP內(nèi)容的時(shí)候一片黑强岸,如何解決呢业岁?其實(shí)很簡(jiǎn)單啊充蓝。Apple對(duì)APP的生命周期略做了更改娩贷。
原因:
在iOS13中,AppDelegate
把iOS13之前的那些管理整個(gè)App生命周期等的任務(wù)都委托給了SceneDelegate
碱茁,所以原來(lái)AppDelegate
的window
屬性自然也就跑到SceneDelegate
里面去了:
image.png
而這個(gè)SceneDelegate
class又被我們標(biāo)注了只能iOS13可以用裸卫,也就是說(shuō)iOS13以下版本的iPhone是不會(huì)執(zhí)行整個(gè)SceneDelegate
class的代碼的,所以在低版本中系統(tǒng)就找不到window
屬性纽竣。
解決方案
image.png
//這句話墓贿,添加到圖中的位置即可。
@synthesize window = _window;