【发布时间】:2018-07-14 12:18:00
【问题描述】:
我在 WKExtensionDelegate 和 WKInterfaceController 上都添加了日志。 这是我在玩启动和退出应用程序时得到的结果 观看操作系统模拟器。 (模拟器运行watchOS 4.2)
第 1 步:第一次启动应用程序时,我看到的日志如下:
- 初始化 ExtensionDelegate
- applicationDidFinishLaunching
- applicationDidBecomeActive
- 在上下文中醒来
- 将激活
- 出现了
第 2 步:当我在应用程序中时,按下主页按钮 (Cmd-Shift-h) 后,我得到以下日志:
- applicationWillResignActive
- 已停用
- 将激活
- 出现了
- 已停用
第 3 步:我从应用屏幕再次启动我的应用(从复杂功能启动时也是如此)
- applicationDidBecomeActive
- 将激活
问题 1: 在第 2 步中,didDeactivate 被调用了 2 次,willActivate 和 didAppear 也因某种原因被调用。我希望只调用一次didDeactivate。有没有人知道为什么会发生这种情况?
问题 2: 在第 3 步中,在 willActivate 之后,我希望 didAppear 被调用。为什么不调用?
【问题讨论】:
-
我也一直想知道为什么当我按下表冠将我的应用程序发送到后台时,我的界面控制器中会出现以下顺序:didDeactivate、willActivate、didAppear、didDeactivate、willDisappear。我一直在努力弄清楚为什么它会在进入后台后激活并出现。
-
请注意,如果应用通过 xcode 在调试模式下运行,应用生命周期会出现偏差。我建议在真实设备上安装应用程序并在不附加任何调试会话的情况下启动它。
标签: watchkit wkinterfacecontroller