Xcode 11.1在设备iOS 13.1.2上运行和测试,设置断点

时间:2019-10-09 19:19:16

标签: ios objective-c xcode breakpoints

我有一个7年以上的项目文件,以Xcode 4开头, 移植到Xcode 5、7、8和9.2。对于所有这些Xcode版本, “运行(播放)”按钮和设置的一致方法和行为,以及 在断点处停止。

这是一个企业应用程序,我一直拥有真正的iPhone奢侈功能 和iPad进行测试(无需使用模拟器)。我们最近有 从Xcode 9.2跳转到Xcode 11.1以支持正在运行的新购买的设备 iOS13。我一直使用Objective-C。

我的问题是Xcode 11.1。运行按钮的行为有所不同,并且 断点不会导致程序停止。至于断点 暂停,项目设置中与 我在Stackoverflow中研究过的许多断点 被忽略。而且它以前一直为我工作。至于“运行”按钮, 我看到不合理的行为。也许这两个问题是相关的 这就是为什么我将它们配对在一起的原因。

在以前版本的Xcode中,一个按下了Run按钮, 结果如下:

 1. The code was compiled and built when an editing change 
    had been made. 
 2. The newly built app was installed on the device whether 
    or not there was a previous version of the app already 
    residing there. 
 3. The app was then executed and breakpoints were halted
    upon.

在Xcode 11.1中,“运行”按钮显示了提供给以下用户的应用程序列表 执行。如果设备上尚不存在我的应用程序, 没有显示在列表上。而且上面概述的步骤都不是 执行。

这是我现在必须使用以下方法在设备上构建和运行应用程序的方式 Xcode 11.1和iOS 13.1.2

要构建该应用程序,请进入“产品”->“构建”->“运行”。那 生成现在就坐在那里的应用程序。真正得到 它安装在设备上,我必须回到“运行”按钮 并选择一种可用的应用程序 “图书”。在开始阅读图书之前,我可以在状态下看到文字 窗口,指示我的应用程序正在设备上安装。图书 然后启动,然后按“停止”按钮将其杀死。然后我 再次按运行按钮,然后在列表中查看我的应用程序。我可以 然后选择运行它,然后在调试窗口中看到输出。

但是,在我的应用开始运行后,没有任何断点 我已经暂停了。

将感谢您能提供的任何帮助。有没有办法 编译和构建并运行类似于旧方法的应用程序?和 您是否有理由思考为什么没有断点 服务了吗?

谢谢。 迈克

1 个答案:

答案 0 :(得分:0)

多年来,我使用Xcode时,不必更改执行的方案。所以我什至不了解它的目的。由于某种原因,当我下载最新版本的Xcode(11.1)时,它更改了Scheme的默认值,导致“运行”按钮以我在帖子中描述的不同方式启动。可能是由于Paulw11提到的扩展我在代码相关性中没有意识到。但是无论如何,这是确保您的应用将直接在调试器中启动的方法:

产品->方案->编辑方案->构建配置=调试,将可执行文件设置为“您的应用程序”,将调试执行文件设置为选中,将自动启动文件设置为选中。

请注意,当您下载新版本时,Xcode可能会更改这些值。