我的代码只有在升级或安装应用程序后才会在启动时触发.我想调试这段代码,但想不出办法.
我无法使用Xcode启动应用程序,因为它会覆盖现有应用程序并且不会触发更新.
我无法手动将Xcode附加到进程,因为我想调试的代码将在我连接Xcode时执行.
有什么事情可以解决这个我错过了吗?
Cal*_*leb 47
使用"等待MyApp.app启动"选项.
在Xcode中,按住Option键并选择Product-> Run ...(当您按住Option时会添加省略号).这将打开方案编辑器,选择Run方案.单击"信息"选项卡,在生成的"信息"面板上,您将看到标有"启动"的无线电组,其中包含两个选项:"自动"和"等待MyApp.app启动".如果选择第二个选项,Xcode将启动调试器并等待您手动启动应用程序.您可以在要调试的代码的开头设置断点,调试器将停在那里.
将应用重置为以前的状态.
您可能需要考虑添加一些将应用程序重置为升级之前的状态的代码.这可以是从发布版本中排除的调试代码.每次要运行调试时需要重新安装应用程序的调试问题可能会花费大量时间.即使只是在每个调试周期重新启动应用程序也会耗费大量时间.通常花一点时间为你的应用添加一个按钮来撤消你正在做的任何改变,以便你可以再做一次.
单元测试.
调试处理难以重新创建的应用程序状态的代码的一种好方法是编写单元测试.在测试中,您可以创建所需的任何状态.您甚至可以创建可能无法在应用中重新创建的应用状态.您可以一遍又一遍地调试该代码.与之前的解决方案一样,预先编写代码需要花费更多的时间,但是您将在调试周期的每次迭代中节省大量时间,这非常值得.更好的是,您可以将测试添加到构建过程中,以帮助确保功能不会在以后中断.