我正在处理这个 tutorial它在模拟器上工作得很好,除了我不明白这些方法是如何被调用的。今天的 View 小部件显示正常,但是当我向方法(例如 ViewDidLoad、widgetPerformUpdateWithCompletionHandler)添加断点时,断点似乎永远不会被调用。
我正在尝试解决这个问题,因为我添加了额外的代码 - 例如NSLog 在方法中显示一些值,但看不到 NSLog 调用的任何输出。
有人可以解释为什么断点不起作用吗?我猜这与在“后台”执行的扩展方法有关,但我不确定。
谢谢
最佳答案
您可以按照以下步骤激活您在 today 扩展中设置的断点:
1) 在你的扩展代码中设置断点(viewDidLoad 是一个很好的测试选项)
2) 像往常一样启动您的应用程序,方法是选择应用程序的目标并点击运行。
3) 确保您的扩展程序已安装在今天 View 中(打开今天 View 并点击编辑按钮添加它,如果没有)
4) 关闭今日 View 。
5) 在 Xcode 中选择今天的扩展目标并按下运行按钮。系统将提示您选择要运行的应用程序。选择“今天”。
6) 您应该会看到今天的窗口出现在模拟器上(这也适用于设备)。您的断点将被击中。
注意:您可能会在今日扩展启动之前在您的应用程序中遇到异常断点,因为您的应用程序已被发送到后台。如果发生这种情况,只需跳过断点,您将按预期在扩展中命中断点。此过程还允许您从扩展程序中查看控制台语句。
关于iOS TodayView 小部件断点不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32551771/