Strange WatchKit WKInterfaceController和WKExtensionDelegate生命周期调用

时间:2018-02-04 14:24:11

标签: watchkit wkinterfacecontroller

我在WKExtensionDelegate和WKInterfaceController上添加了日志。 这是我在开始和退出应用程序时所获得的 观看OS模拟器。 (模拟器正在运行watchOS 4.2)

第1步:首次启动应用时,我看到的是日志:

  • Init ExtensionDelegate
  • 的applicationDidFinishLaunching
  • applicationDidBecomeActive
  • 用withContext
  • 唤醒
  • willActivate
  • didAppear

第2步:当我在应用内时,按下主页按钮(Cmd-Shift-h)后,我发现以下日志:

  • applicationWillResignActive
  • didDeactivate
  • willActivate
  • didAppear
  • didDeactivate

第3步:我从应用程序界面再次启动我的应用程序(从并发症开始时也一样)

  • applicationDidBecomeActive
  • willActivate

问题1:在第2步中,didDeactivate被调用2次,willActivatedidAppear由于某种原因被调用。我希望只有一次调用didDeactivate。有谁得到了为什么会发生这种情况的答案?

问题2:,在步骤3中,willActivate之后我希望didAppear被调用。为什么不叫它?

1 个答案:

答案 0 :(得分:-1)

我在模拟器和Apple Watch上都遇到了相同的行为。我不知道那里有什么问题(SDK中的错误文档或错误),但根据我的经验,尝试解决这些奇怪案例的问题而不是试图弄清楚什么是错的更好(并且节省时间) SDK。