首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >os_signpost在模拟器上工作,但在设备上运行时不起作用

os_signpost在模拟器上工作,但在设备上运行时不起作用
EN

Stack Overflow用户
提问于 2018-12-06 05:58:53
回答 2查看 891关注 0票数 8

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

然后我切换到设备,同样的代码。但是,当它在设备上运行时,仪器不会显示测量的时间。它只显示以下内容:

os_signpost时间根本没有显示出来。

所以,所有这些在模拟器上都工作得很好,但当我切换到我的iPhone设备时就不行了。

有什么想法吗?

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

发布于 2019-07-25 00:16:51

确保您没有通过环境变量禁用OS_ACTIVITY_MODE (参见下面的屏幕截图)

我把它移除了,一切都正常了=)

票数 9
EN

Stack Overflow用户

发布于 2018-12-08 01:46:15

事实证明,os_signpost不会出现,因为录制设置为立即。将其设置为延迟,这样我就可以运行应用程序,然后停止录制,然后instruments显示我在代码中拥有的自定义os_signpost。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53641394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档