我使用乐器在我想跟踪时间的其中一个函数中有以下几行代码.当我在仪器的模拟器上运行应用程序时,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.