如何调试可在iOS模拟器上正常运行但在iPhone X上崩溃的应用程序?


1

我目前正在使用Cordova构建一个应用程序,看来在最后一个Alpha版本上,该应用程序只能在iOS Simulator中运行。在iPhone X上运行时,该应用程序立即崩溃。

我对Apple平台的软件开发完全不熟悉,所以我想知道:

  • 我有什么选择可以理解哪里出了问题?

  • 有什么我应该注意避免无声崩溃的事情吗?

我知道我们可以将iPhone与Safari调试器链接,但是我认为这仅适用于浏览器检查,而不适用于应用程序调试。


这似乎有点超出范围。是问SO还是有人反对将其迁移到那里?请参阅帮助中心,并在需要时联系我们询问“不同的聊天”或“ 询问不同的元”
bmike

我开始这样做,但是我认为它也不在SO的范围之内,因为它与代码没有真正的关系(嗯,我的问题是,但我只要求软件支持)。
zessx

Answers:


2

您可以通过Xcode在设备上运行该应用来调试该应用。

首先,让正确的先决条件。您需要访问安装了最新版本的macOS和Xcode的Mac(最好是最新版本的macOS High Sierra 10.13.6和Xcode 9.4.1)。

准备好Mac之后,即可访问该应用程序的源代码。使用Xcode打开项目文件的xcodepoject文件。名为Sample的项目的项目文件在Finder中如下所示:

在此处输入图片说明

使用Xcode打开项目后,下一步就是成功构建它。通过按Shift+ Command+ r或从Xcode菜单栏中选择“产品”→“构建为”→“运行”来执行此操作。桌面上显示的此HUD表示构建成功(无编译错误):

在此处输入图片说明

下一步将在设备上运行。使用避雷线将iPhone X连接到Mac。验证设备已连接并被Xcode识别,这将在Xcode工具栏的“运行目标选择”下拉列表中显示:

在此处输入图片说明

在如上所示的下拉列表中选择了设备和应用程序名称后,要运行该应用程序,请单击工具栏中的播放按钮,或者从菜单栏中选择产品→运行,或使用键盘快捷键Command+ r

现在,该应用程序应在您的iPhone上启动。确保您的iPhone已解锁,并且Mac和iPhone都相互信任。您将需要将注册的Apple开发人员ID添加到Xcode中,以便能够在设备上调试应用(如果尚未进行调试)。

在此处输入图片说明

假设上述所有内容均已正确设置,则您应该能够通过Xcode在iPhone上启动应用程序并对其进行调试。

检测崩溃:

正如您所提到的,您的应用程序在启动时崩溃了,我假设您是在设备上构建并体验到它的。要在应用程序代码中查明崩溃的原因,可以采取以下步骤:

  1. 通过按Command+ 8或在菜单栏中选择查看→导航器→显示断点导航器,导航到Xcode中的断点导航器。

  2. 单击+底部工具栏上显示的创建断点按钮。

在此处输入图片说明

  1. 选择异常断点...

在此处输入图片说明

  1. 在弹出窗口外单击以关闭。确保已启用断点以能够捕获崩溃原因。

祝好运!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.