Di Xcode, bagaimana cara menyembunyikan semua peringatan di file sumber tertentu?

138

Dalam aplikasi saya, saya menggunakan kode pihak ketiga yang memicu beberapa peringatan. Saya memeriksanya dan mereka dapat diabaikan dengan aman.

Sekarang saya ingin "menandai" file entah bagaimana, jadi Xcode tidak akan menampilkan peringatan apapun untuk kode dalam file itu.

Bagaimana saya harus melakukan itu?

Bobrovsky
sumber

Jawaban:

277

Pilih target Anda dan tunjukkan Build Phases. Kemudian masukkan nama file di kotak pencarian, dan Anda akan melihatnya terdaftar di fase Compile Sources. Klik dua kali di kolom Compiler Flags untuk file itu dan enter -wuntuk mematikan semua peringatan untuk file itu.

Jon Reid
sumber
9
Hmm, saya berharap -wuntuk mematikan semua peringatan, tapi mungkin compiler baru tidak memperhatikannya. Jika demikian, matikan peringatan satu per satu. Temukan peringatan yang dimaksud di Build Settings, dan perlihatkan Bantuan Cepat di tampilan Utilities. Anda akan melihat deskripsi, dengan -Wname-of-warningsintaks. Tambahkan "no-" ke nama dan tentukan di Compiler Flags. Contoh: untuk mematikan -Wunused-parametertentukan-Wno-unused-parameter
Jon Reid
14
Ternyata semua ini bergantung pada kompiler. Maksud saya, dalam satu proyek yang menggunakan kompiler LLVM GCC -wmelakukan trik dan dalam proyek lain yang menggunakan kompiler GCC biasa -Wno-name-of-warningadalah satu-satunya cara untuk pergi.
Bobrovsky
6
Terima kasih atas petunjuknya, juga bekerja untuk saya ( -wdan LLVM). Sangat berguna ketika Anda menyertakan file pihak ketiga yang tidak ingin Anda modifikasi.
user826955
1
@ Zammbi Karena kode dibuat secara otomatis, perbaiki agar kode bebas dari peringatan. Jika Anda tidak bisa melakukannya, tambal otomatis proyek Xcode untuk menyetel tanda compiler.
Jon Reid
11
Tidak berfungsi dengan Swift 2 menggunakan Xcode 7.0 dan Apple LLVM 7.0
King-Wizard
6

Pilih Proyek di navigator kiri dan pilih target pergi ke fase pembangunan dan Put -w di Fase Build file target. Ini akan menyembunyikan semua peringatan kompiler masukkan deskripsi gambar di sini

Spydy
sumber
17
Tidak berfungsi dengan Swift 2 yang menggunakan Xcode 7.0 dan Apple LLVM 7.0
King-Wizard
2
meneruskan flag compiler clang ke compiler asing tidak akan bekerja. quelle surprise ... google tanda peringatan untuk swift compiler dan tambahkan itu sebagai gantinya.
jheriko
4

Ini berfungsi untuk Xcode 10.2+ dan Swift 5

Perbaikan manual:

Tambahkan -w -Xanalyzer -analyzer-disable-all-checkske file bermasalah dari Xcode> Proyek> Target> Sumber Kompilasi> Klik dua kali file di mana Anda ingin mematikan peringatan.

Cocoapods Fix:

Jika Anda mencoba untuk menyembunyikan peringatan dari pod yang bermasalah, Anda dapat secara otomatis menyembunyikan semua peringatan dari dependensi dengan inhibit_warningsflag di podfile Anda :

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

masukkan deskripsi gambar di sini

Cal S
sumber