os_signpost работает на симуляторе, но не работает на устройстве - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть следующие строки кода в одной из функций, для которых я хочу отслеживать время, используя инструменты.Когда я запускаю приложение на симуляторе с инструментов, измеренное время с помощью os_signpost действительно появляется, и я могу точно измерить то, что мне нужно.

Затем я переключаюсь на устройство с тем же кодом.Тем не менее, как он работает на приборах устройства не показывает измеренное время.Это показывает только следующее: enter image description here

время 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)

Ответы [ 2 ]

0 голосов
/ 24 июля 2019

Убедитесь, что вы не отключили OS_ACTIVITY_MODE через переменную окружения (см. Скриншот ниже)

Do not do this, or signposts will not work

Я удалил его, и все заработало =)

0 голосов
/ 07 декабря 2018

Оказывается, os_signpost не будет отображаться, потому что запись была установлена ​​немедленно.Установка Отложено сделала его таким, чтобы я мог запустить приложение, затем остановить запись, а затем инструменты показывают пользовательский os_signpost, который я имел в коде.

enter image description here

...