iOS TodayView 小部件断点不起作用

标签 ios objective-c ios-simulator

我正在处理这个 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/

相关文章:

iphone - 在 iOS 应用程序中通过 WhatsApp 共享图像/文本

iOS模拟器太大

iOS7 只返回 'NSInvalidArgumentException' ,原因 : '-[__NSCFString containsString:]:

ios - Titanium 在浏览器窗口中使用完成按钮打开 url

iphone - 显示 Plist 词典中的随机单词 - 内存泄漏?

objective-c - 如何在垃圾收集的 Obj-C 中保留窗口而不保留指向它的指针?

Objective-C:为什么自动释放池存在并以它们的方式工作?

ios-simulator - 从命令行设置 iOS 模拟器的版本

ios - iOS模拟器仅显示空白屏幕

ios - 获取自定义类的实例数