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