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