AppDelegate 中的应用程序 didFinishLaunching 是否总是在打开应用程序 post-update 后被调用?

Does application didFinishLaunching in AppDelegate always get called after opening an app post-update?

假设您的设备上有一个您最近关闭(但没有终止)的应用程序。 5 分钟后,应用程序更新通过 App Store 完成,应用程序从 1.0 升级到 2.0。

更新后打开应用程序时,总是会调用 AppDelegate 中的 didFinishLaunching 吗?该应用程序是否因更新而终止?我假设是这样,因为可能会有一些巨大的代码更改,但我想确认一下。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

是的,didFinishLaunchingWithOptions 将在更新后始终被调用,因为应用程序基本上会在您打开时重新启动,然后在新代码更改后重新启动(无论其当前状态如何) .

您可以在模拟器中轻松测试此行为 - 只需重新 运行 应用程序而不关闭它并在 didFinishLaunchingWithOptions.

中设置断点