ios – os_signpost在模拟器上运行,但在设备上运行时不运行

我使用乐器在我想跟踪时间的其中一个函数中有以下几行代码.当我在仪器的模拟器上运行应用程序时,os_signpost的测量时间确实显示出来,我可以准确地测量我需要的东西.

然后我切换到设备,相同的代码.但是,因为它在设备仪器上运行并不显示测量的时间.它只显示这个:
《ios – os_signpost在模拟器上运行,但在设备上运行时不运行》

os_signpost时间根本不显示.

所以,一切都在模拟器上很棒,但是当我切换到我的iPhone设备时却没有.

任何的想法?

let spid = OSSignpostID(log: SignpostLog.myLog, object: myObj as AnyObject)

defer { os_signpost(.end, log: SignpostLog.myLog, name: "operation1", signpostID: spid) }

os_signpost(.begin, log: SignpostLog.myLog, name: "operation1", signpostID: spid)

最佳答案 结果显示os_signpost不会显示,因为录制设置为立即.将它设置为Deferred使得我可以运行应用程序,然后停止录制,然后仪器显示我在代码中的自定义os_signpost.

《ios – os_signpost在模拟器上运行,但在设备上运行时不运行》

点赞