【问题标题】:Xcode 11.1 Running and Testing On a Device iOS 13.1.2, Setting BreakpointsXcode 11.1 在 iOS 13.1.2 设备上运行和测试,设置断点
【发布时间】:2020-02-07 04:32:27
【问题描述】:

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

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

我的问题是 Xcode 11.1。运行按钮的行为不同,并且 断点不会导致程序停止。至于断点 停止时,与 我在 Stackoverflow 中研究过许多帐户以获取断点 被忽略。它以前一直对我有用。至于运行按钮, 我看到了不合理的行为。也许这两个问题是相关的 这就是我将它们配对在一起的原因。

在以前版本的 Xcode 中,按下运行按钮 结果如下:

 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

要构建应用程序,我进入 Product->Build For->Running。那 构建现在只是坐在那里的应用程序。真正得到 它安装在设备上我必须返回运行按钮 并选择我选择的可用应用程序之一 “图书”。在 Books 启动之前,我可以在状态中看到文本 指示我的应用程序正在设备上安装的窗口。图书 然后启动,我按下停止按钮将其杀死。然后我 再次按下运行按钮,在列表中查看我的应用程序。我能 然后选择运行它,我会看到调试窗口的输出。

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

如果您能获得任何帮助,我们将不胜感激。有没有办法 编译和构建和运行类似于旧方法的应用程序?和 您是否有理由认为为什么没有断点 服务好了吗?

谢谢。 迈克

【问题讨论】:

  • 如果 Xcode 显示要运行的应用程序列表,通常意味着您选择了扩展程序而不是应用程序作为运行目标。如果您的项目包含扩展程序,请确保您已选择应用程序而不是扩展程序作为运行目标。
  • 您好 Paulw11,感谢您的回复。我明白你在说什么。我从来没有故意将应用程序设置为扩展,所以我希望 Xcode 没有这样设置。但我仔细检查了构建设置。在包装段落中,“包装器扩展”设置为“应用程序。在构建选项段落中,仅需要应用程序扩展安全 API 设置为否。我假设扩展的分配仅在这些段落中,那些设置...... ..
  • ....我很好奇你的最后一句话,你说确保选择应用程序而不是扩展程序作为运行目标。在“常规”设置中,可执行文件设置为 $(EXECUTABLE_NAME) 定义,而各种捆绑标识符的其他名称使用 (PRODUCT_NAME) 引用。如果您有更多想法,我将不胜感激。谢谢你。迈克
  • 我什至不知道你的项目是否有扩展。扩展是一个额外的目标;今天的小部件、代码聚光灯扩展、SiriKit 扩展等。当你想要调试其中一个时,你看到的行为就是你得到的,这就是我建议它的原因。

标签: ios objective-c xcode breakpoints


【解决方案1】:

在我使用 Xcode 的许多年里,我从来没有改变过执行的Scheme。所以我什至不明白它的目的。出于某种原因,当我下载最新版本的 Xcode (11.1) 时,它更改了 Scheme 的默认值,导致 Run 按钮以我在帖子中描述的不同方式启动。也许这是由于我在 Paulw11 提到的代码依赖项中不知道的扩展。但无论如何,这是确保您的应用程序直接在调试器中启动的方法:

Product->Scheme->Edit Scheme-> Build Configuration = Debug,Executable设置为“Your App”,Debug Execution设置为checked,Launch Automatically设置为checked。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-20
    • 2020-02-13
    • 1970-01-01
    • 2013-02-15
    • 2020-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多