新建工程的時候,Xcode 默認建立的 AppDelegate 文件裏面會有 UIApplicationDelegate
的 6 個代理方法,其中第一個是 application:didFinishLaunchingWithOptions:
,咱們一般會在這裏進行 SDK 的初始化以及其餘一些配置等等,可是 app 的第一個執行代碼的機會實際上是 application:willFinishLaunchingWithOptions:
,官方註解是:html
This method is your app’s first chance to execute code at launch time.ios
這個知識點能夠用於面試,以及對於一些對初始化時機有要求的 SDK 配置的 bug 排查。面試
applicationDidEnterBackground:
來進行數據的保護性存儲,可是考慮一種特殊狀況:
直接連按 home 鍵,而後上劃殺死 app,這個方法還會調用嗎?
答案是會的,應用從 active 狀態至 suspended 狀態,是必須通過 background 狀態的,咱們應該按照官方規範,在 applicationDidEnterBackground:
方法而不是在可能被調用更屢次的 applicationWillResignActive:
方法裏面進行數據的保護性存儲。app
參考連接:developer.apple.com/library/con…ide