Trong Xcode, làm thế nào để chặn tất cả các cảnh báo trong các tệp nguồn cụ thể?


137

Trong ứng dụng của mình, tôi sử dụng mã bên thứ 3 kích hoạt một số cảnh báo. Tôi đã xem xét chúng và chúng có thể được bỏ qua một cách an toàn.

Bây giờ tôi muốn "đánh dấu" một tệp nào đó, vì vậy Xcode sẽ không hiển thị bất kỳ cảnh báo nào cho mã trong tệp đó.

Tôi nên làm thế nào?

Câu trả lời:


277

Chọn mục tiêu của bạn và hiển thị Giai đoạn xây dựng. Sau đó nhập tên của tệp vào hộp tìm kiếm và bạn sẽ thấy nó được liệt kê trong pha Nguồn tổng hợp. Bấm đúp vào cột Cờ biên dịch cho tệp đó và nhập -wđể tắt tất cả các cảnh báo cho tệp đó.


9
Hmm, tôi dự kiến ​​sẽ -wtắt tất cả các cảnh báo, nhưng có lẽ trình biên dịch mới không chú ý đến điều đó. Trong trường hợp đó, tắt cảnh báo cá nhân. Tìm cảnh báo được đề cập trong Cài đặt bản dựng và hiển thị Trợ giúp nhanh trong chế độ xem Tiện ích. Bạn sẽ thấy một mô tả, với một -Wname-of-warningcú pháp. Chuẩn bị "không-" cho tên và chỉ định rằng trong Cờ biên dịch. Ví dụ: để tắt -Wunused-parameterchỉ định-Wno-unused-parameter
Jon Reid

14
Nó chỉ ra rằng tất cả điều này là phụ thuộc vào trình biên dịch. Ý tôi là, trong một dự án sử dụng trình biên dịch LLVM GCC -wthực hiện thủ thuật và trong dự án khác sử dụng trình biên dịch GCC đơn giản -Wno-name-of-warninglà cách duy nhất để đi.
Bobrovsky

6
Cảm ơn vì gợi ý, cũng đã làm việc cho tôi ( -wvà LLVM). Thực sự tiện dụng khi bạn bao gồm các tệp của bên thứ ba mà bạn không sử dụng để sửa đổi.
dùng826955

1
@Zammbi Vì mã được tạo tự động, hãy sửa nó để tạo mã không có cảnh báo. Nếu bạn không thể làm điều đó, hãy tự động vá dự án Xcode để đặt cờ trình biên dịch.
Jon Reid

11
Không hoạt động với Swift 2 khi sử dụng Xcode 7.0 và Apple LLVM 7.0
King-Wizard

6

Chọn Project trong bộ điều hướng bên trái và chọn mục tiêu đi đến giai đoạn xây dựng và Đặt -w trong Build Phase của tệp mục tiêu. Nó sẽ ẩn tất cả các cảnh báo trình biên dịch nhập mô tả hình ảnh ở đây


17
Không hoạt động với Swift 2 khi sử dụng Xcode 7.0 và Apple LLVM 7.0
King-Wizard

2
chuyển cờ trình biên dịch clang cho trình biên dịch nước ngoài không hoạt động. quelle bất ngờ ... google cờ cảnh báo cho trình biên dịch nhanh và thay vào đó.
jheriko

4

Điều này hoạt động cho Xcode 10.2+ và Swift 5

Hướng dẫn sửa chữa:

Thêm vào -w -Xanalyzer -analyzer-disable-all-checkstệp có vấn đề từ Xcode> Dự án> Mục tiêu> Nguồn biên dịch> Nhấp đúp vào tệp mà bạn muốn tắt cảnh báo.

Sửa lỗi Cocoapods:

Nếu bạn đang cố gắng ngăn chặn các cảnh báo từ nhóm có vấn đề, bạn có thể tự động chặn tất cả các cảnh báo khỏi sự phụ thuộc với inhibit_warningscờ trong tệp podfile của bạn :

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

nhập mô tả hình ảnh ở đây


Các sửa chữa cocoapods đã làm việc một điều trị, cảm ơn!
thiệu
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.