Хотя этот другой ответ удалит предупреждения во время фазы сборки, он, похоже, не полностью исправит фазу 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
.
Я все еще не понимаю, почему я не могу полностью отключить анализируемые модули, хотя, возможно, это связано с «Найти неявные зависимости», установленным в настройках сборки схемы. Если бы это не было проверено, похоже, что-то еще должно произойти, чтобы приложение связывалось с модулями.
На stderr
попадают только ошибки. Это ни в коем случае не ошибка, а именно то, что имел в виду пользователь, а именно информацию об использовании печати.
Всегда стандартный вывод, упрощает конвейерную передачу в less, grep и т. Д.
Если вы показываете текст справки, потому что возникла проблема с синтаксическим анализом аргументов командной строки, вы можете используйте stderr.
Ну, это явный запрос о помощи, так что это вывод . Если по какой-то причине вы не можете вывести справку или пользователь неправильно написал «help», то непременно отправьте это на error : -)
Пользователи, которые знают, что делают могут использовать пресловутый "2> & 1"
, если им нужны ошибки в стандартном выводе.
Если вы находите тестирование скучным, это связано с тем, что тестирование вашего кода является неизбежным злом ... по крайней мере, как я воспринимал, вы это видите.
Все, что вам нужно, это изменить свою точку зрения взглядов на тестирование ... а точнее ... изменение в том, КАК вы тестируете. Вы любите программировать гораздо больше, чем тестирование ... хорошо программируйте свои тесты ... тогда это так же весело, как программирование самого начала ... и когда вы закончите, у вас будет
программа, которая работает
тестовый набор, который остается и тестирует его при каждой сборке
Так что оставьте эту таблицу Excel и пошаговый отладчик и присоединяйтесь к веселью :-)
Конечно, это еще не все, и здесь тестовые фреймворки (junit, testNG , Dunit, NUnit ...) пригодятся, они возьмут на себя небольшие усилия и оставят только кодовую часть теста ..
Удачного кодирования и, соответственно, ..