【问题标题】:How can I debug an iOS app executed in mobile not launched by Xcode?如何调试在 Xcode 未启动的移动设备中执行的 iOS 应用程序?
【发布时间】:2016-09-19 07:29:00
【问题描述】:

我正在使用 Xcode 在 Objective C 中为 iOS 开发一个应用程序。此应用程序每 6 小时安排一次本地推送通知,当我打开推送通知时它崩溃了。

我需要调试错误来解决它。我可以将移动设备连接到 Xcode,但是由于应用程序是从本地推送通知执行的,因此我在 Xcode 调试控制台上看不到错误消息,因为我还没有从 Xcode 启动我的应用程序。

有没有办法让 iOS 设备连接到我的 Mac 并查看发生了什么错误?

我知道我可以去移动设置查看日志,但是这些日志对我来说太模糊了,没有给出任何错误。

【问题讨论】:

标签: ios objective-c iphone xcode


【解决方案1】:

除了按照@saurabhgoyal 的描述打开控制台日志之外,您还可以告诉 Xcode 等待您的应用启动,然后在启动时将调试器附加到它。

选择您用于构建应用程序的方案,选择编辑方案,然后单击运行图标。然后寻找一对标题为“启动”的单选按钮,并选择名称为“等待启动可执行文件”的单选按钮。

然后,当您在 Xcode 中运行您的应用程序时,它会构建它并将其安装在设备上,但不会启动它。

当您的通知触发并且应用启动时,调试器会附加到您的应用,您可以正常进行调试(除了 NSLog 语句不再打印到调试控制台 - 很烦人。)

【讨论】:

  • 这就是我所期待的。拯救了我的一天。
  • 有关如何选择和更改方案的说明会很有用。另外,如果 NSLog 语句不打印到调试控制台,这种方法有什么好处?我的用例是尝试测试推送通知的点击以及它们是如何处理的。
【解决方案2】:

是的,有一种方法可以在 Mac 上查看设备日志。

使用 USB 将您的 iOS 设备连接到 Mac 系统

启动Xcode-->窗口-->设备

从左侧面板中选择您的设备

现在您可以在屏幕上看到日志,包括后台活动。

为了保存运行日志。

重现问题或在您想要捕获日志的应用上开始在您的设备上工作。问题重现后单击 Xcode 屏幕右下角的 Save Console 图标

更多详情请访问link

希望对您有所帮助!

【讨论】:

    【解决方案3】:

    检查您的崩溃日志

    1.在您的桌面计算机上启动 Xcode。

    2.打开 Xcode 设备窗口。 (窗口菜单 -> 设备和模拟器,或 Cmd-Shift-2。)

    3.在左侧边栏中找到您的设备,然后选择“设备日志”。

    选择 Chrome 崩溃(或多次崩溃)并选择管理器窗口底部的“导出”。

    【讨论】:

    • 我已在您的回答中将“组织者”(Xcode 5 及更早版本)更改为“设备”(Xcode 6 及更高版本),因为 Xcode 6 是四年前(2014 年)发布的,而 Xcode 5 是'不再受支持(你不能再用它发布 iOS 应用了)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多