请检查 iOS 应用程序生命周期AppCycle。 didFinishLaunchingWithOptions 方法在您的应用程序启动时执行。我建议您将代码放在该函数中。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
它是您实际创建 mainWindow 和 rootViewController 的起点,但您也可以执行其他操作并将打印语句放入该函数中!如果您使用情节提要,这将自动为您完成。然后将代码放在连接到情节提要的 ViewController 类中
这是应用程序生命周期:
应用状态
未运行
该应用尚未启动或正在运行,但已被系统终止。
不活动
该应用程序正在前台运行,但当前未接收事件。 (不过它可能正在执行其他代码。)应用程序通常只会在转换到不同状态时短暂停留在此状态。
活跃
该应用程序正在前台运行并正在接收事件。这是前台应用程序的正常模式。
背景
该应用程序在后台并执行代码。大多数应用程序在被暂停的过程中会短暂进入此状态。但是,请求额外执行时间的应用程序可能会在此状态下保持一段时间。此外,直接在后台启动的应用程序会进入此状态而不是非活动状态。有关如何在后台执行代码的信息,请参阅后台执行。
暂停
该应用程序在后台,但未执行代码。系统会自动将应用程序移至此状态,并且在此之前不会通知它们。挂起时,应用程序保留在内存中,但不执行任何代码。
当内存不足时,系统可能会在不通知的情况下清除挂起的应用程序,以便为前台应用程序腾出更多空间。
以下是您在 Appdelegate 类中找到的其他状态转换
application:willFinishLaunchingWithOptions:——此方法是您的应用在启动时执行代码的第一次机会。
application:didFinishLaunchingWithOptions:——此方法允许您在应用显示给用户之前执行任何最终初始化。
applicationDidBecomeActive:——让您的应用知道它即将成为前台应用。使用此方法进行最后一分钟的准备工作。
applicationWillResignActive:——让您知道您的应用正在从前台应用过渡。使用此方法可将您的应用置于静止状态。
applicationDidEnterBackground:——让您知道您的应用现在正在后台运行,并且可能随时暂停。
applicationWillEnterForeground:——让您知道您的应用正在移出后台并回到前台,但它尚未处于活动状态。
applicationWillTerminate:——让您知道您的应用程序正在被终止。如果您的应用暂停,则不会调用此方法。
(来自苹果网站的生命周期和转换描述)