如何使用iOS中的发布模式构建调试问题?

leh*_*058 33 xcode ios

我正在开发一个iOS应用程序,我注意到一个错误,只有当应用程序在发布模式下构建时才会重现.我发现运行我构建的发布模式应用程序的唯一方法是构建存档,使用我的调试配置文件对其进行签名,以及对我的设备进行临时部署.然而,使用这种方法,我无法使用调试器附加,并且我甚至不确定是否可以附加它,如果在发布版本在代码上运行优化器之后它可以正常工作.

有没有人知道调试一个只在应用程序在发布模式下构建时可重现的问题的好方法?

Pau*_*l R 37

通常,Debug构建具有优化disabled(-O0)以使调试更容易,而Release构建已启用优化(-O3-Os),这使得代码运行得更快,但也使调试更难(但并非不可能).你可以去到构建设置在Xcode的调试配置,并暂时关闭了优化级别-这将让所有其他调试好东西(符号等),但也希望能冲洗掉释放模式错误.(完成后不要忘记-O0在Debug配置中重置优化级别!)

  • 谢谢,这有助于清除真正的问题.一旦修复,我就可以重新开启优化. (2认同)
  • swift 还有第二个优化级别设置。 (2认同)

Rah*_*ade 11

  1. 转到Xcode应用程序菜单中的"Project"命令并选择"Edit Scheme"(快捷方式:⌘<)
  2. 在左窗格中选择"运行项目名称"
  3. 在右窗格中的"信息"选项卡下,将"构建配置"更改为"发布"

  • 我无法以这种方式运行项目。但是,在调试配置中启用优化确实可以帮助我发现问题。显然,当代码未完全优化时,arc并不会立即自动执行... (2认同)

ehr*_*rdt 10

打开调试后,无法在发布模式下运行应用程序.这不是故意的.

在发布模式下运行应用程序时,您必须找到一种不同的方式来观察应用程序的行为(例如使用警报).

取消选中<code> Debug executable </ code>可以在发布模式下运行您的应用

此外,您必须信任设备上的分发配置文件.Xcode会在第一次运行时通知您并发送警报消息.