Где найти «Использование Log Dyld API» и «Загрузка библиотеки журналов» в XCode 11? - PullRequest
1 голос
/ 07 августа 2020

Я хочу отключить печать событий загрузчика Logging Dynami c (dyld) в консоли XCode. Я нашел решение здесь . Но я не смог найти опции Log Dyld API Usage и Log Library Loads в диагностике схемы продукта XCode 11. Пожалуйста, помогите мне найти их.

PS: Если В Xcode11 есть новый процесс отключения журналов, дайте мне знать.

Ответ: Это пошаговое решение предлагается ниже в ответах. Я просто прилагаю эту картинку для лучшего понимания.

введите описание изображения здесь

1 Ответ

1 голос
/ 16 августа 2020

Dynami c загрузчик

Можно сказать, что вы можете установить такие переменные среды, как DYLD_PRINT_APIS=0, DYLD_PRINT_APIS=false, DYLD_PRINT_APIS=no, ... но так не работает. Проверьте исходный код :

else if ( strcmp(key, "DYLD_PRINT_APIS") == 0 ) {
    gLogAPIs = true;
}

Другими словами, gLogAPIs это true, если переменная существует. Вы можете установить для него любое значение, оставить его пустым, он будет всегда включен, если переменная существует.

Схема Xcode

Пользовательский интерфейс для этого параметра отсутствует в Xcode 11, но он может все еще быть в файле схемы. Допустим, у вас есть простой проект Foo. Схема находится по адресу Foo/Foo.xcodeproj/xcshareddata/xcschemes/Foo.xcscheme 1) . Это файл XML. Выйдите из Xcode, откройте этот файл в любом редакторе и найдите элемент LaunchAction.

Там будет:

  • LaunchAction атрибут элемента, например enableAddressSanitizer = "YES" 2 ) или
  • DYLD_... установлена ​​переменная среды.

Просто удалите этот атрибут / переменную среды, и все будет в порядке.

1) Точный путь может отличаться, потому что схема может быть включена в рабочую область, проект, ...

2) Я не У меня установлена ​​предыдущая версия (10) Xcode, не могу проверить точное имя, но оно должно быть там, и будет очевидно, какое именно. Я использовал этот для флажка Address Sanitizer. Если вы найдете точное имя, дайте мне знать, и я обновлю этот ответ или отвечу на него самостоятельно, а это я удалю.

enter image description here


Update

Instructions above helped OP to find exact XML element names. One has to remove:

  • LaunchAction/AdditionalOptions/AdditionalOption elements
  • where the key is either DYLD_PRINT_LIBRARIES and/or DYLD_PRINT_APIS

введите описание изображения здесь

...