【发布时间】:2016-11-03 13:20:14
【问题描述】:
我正在构建一组通知扩展(服务/内容)。 我无法连接到 Xcode 调试器,甚至无法退出设备日志或控制台。
有什么方法可以查看任何类型的输出吗?
【问题讨论】:
标签: ios xcode apple-push-notifications ios10 xcode-debugger
我正在构建一组通知扩展(服务/内容)。 我无法连接到 Xcode 调试器,甚至无法退出设备日志或控制台。
有什么方法可以查看任何类型的输出吗?
【问题讨论】:
标签: ios xcode apple-push-notifications ios10 xcode-debugger
如果您已经尝试了上述所有解决方案,但仍然摸不着头脑,想知道为什么没有调用断点点。然后尝试检查您的extension 的deployment target,它应该小于或等于您的设备操作系统。
对我来说,部署目标高于设备操作系统。
【讨论】:
在我的情况下(Xcode 11.1)调试在这些步骤之后开始:
【讨论】:
对我有用的唯一方法是查看日志。我使用 xcode 10.1。日志可从窗口 -> 设备和模拟器 -> 选择您的设备 -> 单击“打开控制台”。 这样我也可以看到来自扩展的日志。
【讨论】:
这对我来说可以在扩展中的断点处停止并查看扩展日志:
Choose an app to run
Message from debugger: Terminated due to signal 9。
[更新:在设备上手动终止应用似乎没有必要,如果不起作用,请尝试任何一种方式。]Debug > Attach to Process by PID or Name
【讨论】:
Message from debugger: Terminated due to signal 9 错误。而且我确定我已经手动终止了我的主应用程序。你对此有什么想法吗?这会受到后台刷新的影响吗?主应用进程还活着吗?
就我而言,上述所有方法都有一些错误。要点,你需要发送一次推送,然后通过调试器连接,然后发送推送到调试。所以,完整列表:
启动应用程序(不是扩展程序)。
从 XCode 停止应用程序。
一键发送。
通过“通过 PID 或名称附加到进程...”连接到您的扩展进程。
发送另一个推送。
【讨论】:
不确定这是否会有所帮助,但我们有同一个应用的多个版本(alpha、beta 等)。尝试调试时不断收到“无权附加”错误。打开进程列表,我注意到有 2 个名为 notification-extension 的进程,所以 xcode 必须默认为另一个构建中的一个。通过手动选择正确的版本,或从我的手机中删除其他版本,事情又开始工作了。
【讨论】:
我已经按照 Brendan 的回答进行了尝试,但根本不适合我!
我在控制台中遇到以下错误
Program ended with exit code: 0
然后在谷歌上搜索后我检查了this answer。但是,这对我也不起作用!
然后,在停止当前正在运行的应用程序之后,我再次尝试了与答案中相同的步骤。然后按照相同的步骤。为了清楚起见,我将这些步骤写如下:
运行包含扩展的应用程序后,
1) Set your breakpoint in the extension
2) Select Debug / Attach to Process by PID or name
3) Enter the name of the extension target
4) Trigger the push notification
在第 2 步之前,请确保停止当前正在运行的应用。
【讨论】: