在我想要使用仪器跟踪时间的一个函数中,我有以下几行代码。当我在仪器模拟器上运行这个应用程序时,用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)发布于 2019-07-25 00:16:51
确保您没有通过环境变量禁用OS_ACTIVITY_MODE (参见下面的屏幕截图)

我把它移除了,一切都正常了=)
发布于 2018-12-08 01:46:15
事实证明,os_signpost不会出现,因为录制设置为立即。将其设置为延迟,这样我就可以运行应用程序,然后停止录制,然后instruments显示我在代码中拥有的自定义os_signpost。

https://stackoverflow.com/questions/53641394
复制相似问题