Укрощение журналов автоматического макета: как отключить и отключить сообщения отладки автоматического макета

Auto Layout — это мощный инструмент разработки для iOS и macOS, который позволяет создавать гибкие и адаптивные пользовательские интерфейсы. Однако иногда консоль может быть переполнена подробными журналами отладки, что затрудняет поиск соответствующей информации или устранение других проблем. В этом сообщении блога мы рассмотрим различные способы отключения и отключения этих надоедливых журналов автоматического макета, чтобы вы могли сосредоточиться на том, что действительно важно.

Метод 1: отключение журналов автоматического макета в Xcode
Xcode предоставляет простой способ отключить журналы автоматического макета во время разработки. Выполните следующие действия:

  1. Откройте проект Xcode.
  2. Перейдите в меню «Редактировать схему».
  3. Выберите «Выполнить» на левой боковой панели.
  4. На вкладке «Аргументы» добавьте «-UIViewShowAlignmentRects NO» в раздел «Аргументы, передаваемые при запуске».
  5. Запустите проект, журналы автоматического макета должны быть отключены.

Метод 2: программное отключение журналов автоматического макета
Если вы предпочитаете программно отключать журналы автоматического макета, вы можете добиться этого, добавив несколько строк кода в точку входа вашего приложения. Например, в методе application(_:didFinishLaunchingWithOptions:)вашего AppDelegate добавьте следующую строку:

UserDefaults.standard.setValue(false, forKey: "_UIConstraintBasedLayoutLogUnsatisfiable")

Это отключит журналы автоматического макета для всего приложения.

Метод 3: временно отключить журналы автоматического макета.
Иногда вам может потребоваться временно отключить журналы автоматического макета, не отключая их полностью. Этого можно добиться, перенаправив логи в файл, а не в консоль. Вот как это сделать:

  1. Откройте приложение «Терминал».
  2. Перейдите в каталог проекта.
  3. Выполните следующую команду:
    $ xcrun simctl spawn booted log config --mode "level:off" --subsystem com.apple.UIKit.layout

    Это приведет к отключению журналов автоматической компоновки до тех пор, пока вы не перезапустите симулятор.

Метод 4. Используйте собственную платформу ведения журналов.
Другой вариант — использовать собственную платформу ведения журналов, например CocoaLumberjack или SwiftyBeaver. Эти платформы предлагают более детальный контроль над ведением журналов, позволяя фильтровать определенные сообщения журнала, включая журналы автоматического макета.

Метод 5. Фильтрация журналов в Console.app
Если вы используете macOS, вы можете использовать Console.app для фильтрации журналов автоматического макета. Выполните следующие действия:

  1. Откройте Console.app.
  2. В строке поиска введите «Автоматический макет» или любое подходящее ключевое слово.
  3. Настройте фильтр, чтобы исключить журналы автоматического макета из вывода консоли.

Журналы автоматического макета могут быть перегружены и затруднить процесс отладки. Следуя упомянутым выше методам, вы можете эффективно отключить или отключить журналы автоматического макета, что позволит вам сосредоточиться на более важных аспектах рабочего процесса разработки. Независимо от того, решите ли вы отключить журналы в Xcode, отключить их программно, использовать собственную структуру журналирования или использовать внешние инструменты, поиск метода, который лучше всего подходит для вас, значительно улучшит ваш опыт разработки.