【问题标题】:iOS TodayView Widget breakpoints not workingiOS TodayView 小部件断点不起作用
【发布时间】:2015-12-09 16:27:20
【问题描述】:

我正在处理这个tutorial,它在模拟器上工作得很好,除了我不明白这些方法是如何被调用的。今天的视图小部件显示正常,但是当我向方法(例如 ViewDidLoad、widgetPerformUpdateWithCompletionHandler)添加断点时,似乎从未调用过断点。

我正在尝试解决这个问题,因为我添加了额外的代码 - 例如NSLog 在方法中显示一些值,但看不到 NSLog 调用的任何输出。

有人可以解释为什么断点不起作用吗?我猜这与在“后台”中执行的扩展方法有关,但不确定。

谢谢

【问题讨论】:

标签: ios objective-c ios-simulator


【解决方案1】:

您可以按照以下步骤激活您在今天的扩展程序中设置的断点:

1) 在扩展代码中设置断点(viewDidLoad 是一个很好的测试选项)

2) 像往常一样通过选择应用的目标并点击运行来启动应用。

3) 确保您的扩展程序已安装在今日视图中(打开今日视图并点击编辑按钮添加它)

4) 关闭今日视图。

5) 在 Xcode 中选择您今天的扩展目标并按下运行按钮。系统将提示您选择要运行的应用程序。选择“今天”。

6) 您应该会在模拟器上看到今日窗口(这也适用于设备)。您的断点将被命中。

注意:在今天的扩展程序启动之前,您可能会在应用程序中遇到异常断点,因为您的应用程序被发送到后台。如果发生这种情况,只需跳过断点,您将按预期命中扩展中的断点。此过程还允许您查看扩展程序中的控制台语句。

【讨论】:

    【解决方案2】:

    我不确定这是否与您的具体情况有关,但在我有 3 个扩展的应用程序中,我注意到断点在其中 2 个中不起作用。

    但是,我注意到,如果我(从 XCode)运行断点所在的扩展并访问其他扩展之一(在我的例子中是从照片应用程序内部),则断点开始工作。出于某种原因,从 XCode 运行其他扩展不会触发断点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-13
      • 1970-01-01
      • 2012-04-16
      相关资源
      最近更新 更多