'приложение - справка' должна перейти к stdout или stderr?

Хотя этот другой ответ удалит предупреждения во время фазы сборки, он, похоже, не полностью исправит фазу Analyze (из-за которой у нашей сборки CI все еще были проблемы).

Что сработало для меня (в дополнение к принятому ответу):

  • Нажмите на проект Pods в Навигаторе проектов
  • Выберите актуальный Pod- Цель и нажмите Build Settings
  • Фильтр с фразой compiler flags
  • Добавить новый Other C Flags со значением -w -Xanalyzer -analyzer-disable-checker -Xanalyzer core (или какие анализаторы вам нужно отключить ) - этот ответ предоставляет полный список флагов, которые нужно попробовать - пожалуйста, подпишите его!

    Версия clang в Xcode 6.3.1, тем не менее, похоже, не включает insecureAPI так что вы можете удалить его из этого списка. «Текущий» полный список: -w -Xanalyzer -analyzer-disable-checker -Xanalyzer alpha -Xanalyzer -analyzer-disable-checker -Xanalyzer core -Xanalyzer -analyzer-disable-checker -Xanalyzer cplusplus -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode -Xanalyzer -analyzer-disable-checker -Xanalyzer debug -Xanalyzer -analyzer-disable-checker -Xanalyzer llvm -Xanalyzer -analyzer-disable-checker -Xanalyzer osx -Xanalyzer -analyzer-disable-checker -Xanalyzer security -Xanalyzer -analyzer-disable-checker -Xanalyzer unix

Обратите внимание, что установка этого в проекте Pods или Pods Target не будет работать . Я не уверен, почему, но вы должны установить его для каждой фактической Pod- цели.

Вы также можете установить флаги компилятора (-w -Xanalyzer -analyzer-disable-checker -Xanalyzer core и т. Д.) На основе для каждого файла .

Я также попробовал пару других методов (которые могут или не могут потребоваться в дополнение к вышеупомянутому). Они были выполнены по самому проекту Pods.


[1]

  • Фильтровать по фразе analyzer
  • Убедитесь, что для Analyze During 'Build' установлено значение NO.
  • Измените все настройки на NO (включая Improper Memory Management)

[2]

  • Фильтруйте по фразе warnings
  • Измените inhibit all warnings на YES

По какой-то причине даже отключение шага Analyze в схеме не работает. strike>

Перейдите в окно Product > Scheme > Manage Schemes, щелкните по каждому Pod-* из списка и нажмите кнопку Edit. Нажмите Build в левом списке, а затем снимите флажок Analyze в правой части для цели Pod.

Я все еще не понимаю, почему я не могу полностью отключить анализируемые модули, хотя, возможно, это связано с «Найти неявные зависимости», установленным в настройках сборки схемы. Если бы это не было проверено, похоже, что-то еще должно произойти, чтобы приложение связывалось с модулями.

10
задан Jonathan Leffler 1 March 2017 в 20:33
поделиться

5 ответов

На stderr попадают только ошибки. Это ни в коем случае не ошибка, а именно то, что имел в виду пользователь, а именно информацию об использовании печати. ​​

10
ответ дан 3 December 2019 в 19:34
поделиться

Всегда стандартный вывод, упрощает конвейерную передачу в less, grep и т. Д.

Если вы показываете текст справки, потому что возникла проблема с синтаксическим анализом аргументов командной строки, вы можете используйте stderr.

5
ответ дан 3 December 2019 в 19:34
поделиться

Ну, это явный запрос о помощи, так что это вывод . Если по какой-то причине вы не можете вывести справку или пользователь неправильно написал «help», то непременно отправьте это на error : -)

Пользователи, которые знают, что делают могут использовать пресловутый "2> & 1" , если им нужны ошибки в стандартном выводе.

5
ответ дан 3 December 2019 в 19:34
поделиться

Это не ошибка, поэтому я бы сказал stdout ....

1
ответ дан 3 December 2019 в 19:34
поделиться

Если вы находите тестирование скучным, это связано с тем, что тестирование вашего кода является неизбежным злом ... по крайней мере, как я воспринимал, вы это видите.

Все, что вам нужно, это изменить свою точку зрения взглядов на тестирование ... а точнее ... изменение в том, КАК вы тестируете. Вы любите программировать гораздо больше, чем тестирование ... хорошо программируйте свои тесты ... тогда это так же весело, как программирование самого начала ... и когда вы закончите, у вас будет

  1. программа, которая работает

  2. тестовый набор, который остается и тестирует его при каждой сборке

Так что оставьте эту таблицу Excel и пошаговый отладчик и присоединяйтесь к веселью :-)

Конечно, это еще не все, и здесь тестовые фреймворки (junit, testNG , Dunit, NUnit ...) пригодятся, они возьмут на себя небольшие усилия и оставят только кодовую часть теста ..

Удачного кодирования и, соответственно, ..

-1
ответ дан 3 December 2019 в 19:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: