В дополнение к ответу Роба, начиная с iOS 10.0, Apple представила совершенно новую систему «Unified Logging», которая заменяет существующие системы ведения журналов (включая ASL и Syslog, NSLog), а также превосходит существующие подходы к ведению журналов благодаря своей новой технике, включая сжатие данных журнала и отложенный сбор данных.
От Apple :
Унифицированная система ведения журналов предоставляет единый, эффективный и производительный API для сбора сообщений на всех уровнях системы. Эта унифицированная система централизует хранение данных журнала в памяти и в хранилище данных на диске.
Apple настоятельно рекомендует использовать для os_log
продолжения регистрации все виды сообщений, включая информацию, отладку, сообщения об ошибках, поскольку она значительно улучшила производительность по сравнению с предыдущими системами ведения журналов, а также централизованный сбор данных, позволяющий удобную проверку журналов и действий для разработчиков. На самом деле, новая система, вероятно, настолько мала, что она не вызовет «эффекта наблюдателя», когда ваша ошибка исчезнет, если вы вставите команду регистрации, что будет влиять на время возникновения ошибки.
Подробнее об этом вы можете узнать здесь .
Подводя итог: используйте print()
для вашей личной отладки для удобства (но сообщение не будет зарегистрировано при развертывании на пользовательских устройствах). Затем используйте Unified Logging ( os_log
) как можно больше для всего остального.