如何在Xcode中调试一个终止后重新打开的应用程序?

ar5n3qh5  于 2023-08-07  发布在  其他
关注(0)|答案(4)|浏览(161)

我通常在print()方法的支持下进行调试,只要它没有被终止,就会显示在Xcode日志上。然而,我有一些条件,我需要测试在didFinishLaunchingWithOptions方法的AppDelegate时,应用程序的被终止,然后重新打开。“重新打开”的意思是在模拟器/iPhone上点击应用程序,而不是再次从Xcode运行它。遗憾的是,终止后打印日志未显示。还有别的办法吗谢谢你,谢谢

ztigrdn8

ztigrdn81#

单击Xcode左上角Appname附近的选项。
点击【编辑方案】→勾选【等待可执行文件启动】选项,正常运行即可。Happy Coding:).


的数据

cedebl8k

cedebl8k2#

  • 如@vishnu_146所述,勾选“等待可执行文件启动”。
  • CMD + R运行应用程序(首次启动)
  • 双击Home并杀死应用程序
    *CMD + R再次运行应用程序(我测试过,在没有构建的情况下运行将重新启动应用程序)。
  • 应用程序以以前的状态打开。可以命中断点,但无法打印日志。原因:NSLog not working when "wait for executable to be launched" is set
qc6wkl3g

qc6wkl3g3#

Swift 4.2中,

var paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
let documentsDirectory = paths[0]
let fileName = "\(Date()).log"
let logFilePath = (documentsDirectory as NSString).appendingPathComponent(fileName)
freopen(logFilePath.cString(using: String.Encoding.ascii)!, "a+", stderr)

字符串
只需在app delegate文件中的application:didFinishLaunchingWithOptions方法中添加此代码块,它将在iPhone上的app document目录中创建一个日志文件,记录所有控制台日志事件。您需要从iTunes导入此文件以查看所有控制台事件。
注意:在.plist文件中,确保Application supports iTunes file sharing存在并设置为YES,以便您可以通过iTunes访问。
要获取日志文件,请执行以下操作:启动iTunes,在您的设备连接后选择应用程序-选择您的应用程序-在增强文档中,您将获得您的文件。然后您可以将其保存到磁盘

eaf3rand

eaf3rand4#

您可以尝试通过“NSLog”打印日志。在Xcode上,转到“设备和模拟器”并选择您的设备。所有NSLog都将在底部可见。

相关问题