Як придушити всі попередження у Xcode у Xcode?


137

У своїй програмі я використовую сторонній код, який викликає деякі попередження. Я переглянув їх, і їх можна сміливо ігнорувати.

Тепер я хочу якось "позначити" файл, тому Xcode не відображатиме жодних попереджень для коду у цьому файлі.

Як мені це зробити?

Відповіді:


277

Виберіть ціль і покажіть фази збірки. Потім введіть ім'я файлу в поле пошуку, і ви повинні побачити його, перелічене на етапі "Компіляція джерел". Двічі клацніть у стовпці "Компілятори" для цього файлу та введіть, -wщоб вимкнути всі попередження для цього файлу.


9
Хм, я розраховував -wвимкнути всі попередження, але, можливо, новий компілятор на це не звертає уваги. У такому випадку вимкніть окремі попередження. Знайдіть відповідне попередження у Налаштуваннях збірки та покажіть Швидку допомогу у вікні Утиліти. Ви повинні побачити опис із -Wname-of-warningсинтаксисом. Додайте "ні-" до імені та вкажіть це у "Прапори компілятора". Приклад: щоб вимкнути, -Wunused-parameterвкажіть-Wno-unused-parameter
— Jon Reid

14
Виявляється, все це залежить від компілятора. Я маю на увазі, що в одному з проектів, що використовує компілятор LLVM GCC, -wвиходить хитрість, а в іншому проекті, який використовує звичайний компілятор GCC -Wno-name-of-warning- єдиний шлях.
— Бобровський

6
Дякую за підказку, яка також працювала для мене ( -wі LLVM). Дійсно зручно, коли ви включаєте файли третьої сторони, яких ви не можете редагувати.
— користувач826955

1
@Zammbi Оскільки код генерується автоматично, виправте його, щоб генерувати код без попереджень. Якщо ви не можете цього зробити, автоматично закріпіть проект Xcode, щоб встановити прапор компілятора.
— Джон Рейд

11
Не працює з Swift 2 за допомогою Xcode 7.0 та Apple LLVM 7.0
— King-Wizard

6

Виберіть Проект у лівому навігаторі та оберіть цільовий перехід до фази збірки та Введіть -w у фазу збірки цільового файлу. Він приховає всі попередження компілятора введіть тут опис зображення


17
Не працює з Swift 2 за допомогою Xcode 7.0 та Apple LLVM 7.0
— King-Wizard

2
передача прапорів компілятора Clang іноземному компілятору не працює. quelle сюрприз ... google попереджувальний прапор для швидкого компілятора та додайте його замість цього.
— jheriko

4

Це працює для Xcode 10.2+ та Swift 5

Виправлення вручну:

Додайте -w -Xanalyzer -analyzer-disable-all-checksдо проблемного файлу з Xcode> Project> Targets> Compile Source> Двічі клацніть файл, у якому потрібно вимкнути попередження.

Виправлення какаопів:

Якщо ви намагаєтесь придушити попередження з проблемної стручки, ви можете автоматично придушити всі попередження від залежності inhibit_warningsпрапором у вашому підфілі :

pod 'Kingfisher', '~> 4.6', :inhibit_warnings => true

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


Спасибі какаодів відпрацювали частування, дякую!
— adougies
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.