Watchkit没有调用willActivate方法

时间:2015-03-16 17:56:25

标签: ios watchkit

在Watchkit的所有测试版中,我能够无缝地运行我的手表应用程序,但是在过去一周(8.2)的最近版本中,我的willActivate方法几乎没有被调用过。发生了什么是awakeWithContext被调用,手表停止与旋转器永远旋转。这个问题发生在任何人身上吗?

3 个答案:

答案 0 :(得分:2)

我发现通过键入Command-L锁定和解锁设备(模拟器)将导致调用willActivate方法。我希望你不要在真正的Apple Watch上做到这一点。

答案 1 :(得分:1)

昨天刚遇到同样的问题。

在我的情况下,我使用了页面导航,并调用了初始视图控制器的awakeWithContext,但永远不会调用willActivate

经过一番挖掘后,我发现在使用网页导航时,ALLawakeWithContext将在发布时和初始网页willActivate之前调用。如果其中一个页面awakeWithContext方法被卡住,则永远不会调用初始页面的willActivate方法。

您可能需要检查其他视图控制器的awakeWithContext方法,看看它们是否卡住了。

答案 2 :(得分:0)

所以,我仍然不认为我确切地知道发生了什么或导致了什么,但我有完全相同的问题,我做了一些调查并且有一些结果,所以我希望这有助于我们缩小范围。我已经确定它与进入我的初始控制器的布局的复杂性有关。如果我为初始控制器更改为更简单的布局,或者我删除了足够的东西"从我最初的控制器,然后我不再得到死亡的纺车。 (当然这也打破了我的应用程序的逻辑)。我的布局有点复杂,但 复杂;有嵌套4层深的组,大约20个UI元素(包括组本身),有4个按钮和4个标签。它似乎在测试版中运行良好。并没有明确的押韵或理由;有些布局组合似乎会导致它,有些则不会。这是确定性的;如果给定的布局在加载时旋转,它将始终在加载时旋转,如果它没有,则它不会。当它旋转时,我永远不会得到意志激活。如果没有,我会这样做。它似乎与awakeFromContext的内容没有任何关系:我可以删除该方法中的所有内容,但没有帮助。它也与资产,编译器设置等无关。除此之外,我还没有想到它。如果有人对此有任何见解,我很乐意听到。