Xcode에서 특정 소스 파일의 모든 경고를 억제하는 방법은 무엇입니까?


137

내 응용 프로그램에서 경고를 발생시키는 타사 코드를 사용합니다. 나는 그들을 검토했으며 안전하게 무시할 수 있습니다.

이제 파일을 어떻게 든 "표시"하고 싶습니다. 따라서 Xcode는 해당 파일의 코드에 대한 경고를 표시하지 않습니다.

어떻게해야합니까?

답변:


277

대상을 선택하고 빌드 단계를 표시하십시오. 그런 다음 검색 상자에 파일 이름을 입력하면 컴파일 소스 단계에 파일이 표시됩니다. 해당 파일의 컴파일러 플래그 열을 두 번 클릭하고 입력 -w하여 해당 파일에 대한 모든 경고를 해제하십시오.


9
흠, 나는 -w모든 경고를 해제 할 것으로 예상 했지만 아마도 새로운 컴파일러는 그것에주의를 기울이지 않을 것입니다. 이 경우 개별 경고를 끄십시오. 빌드 설정에서 문제의 경고를 찾아 유틸리티보기에 빠른 도움말을 표시하십시오. -Wname-of-warning구문 과 함께 설명이 표시되어야 합니다. 이름 앞에 "no-"를 붙여 컴파일러 플래그에서 지정하십시오. 예 : -Wunused-parameter지정 해제-Wno-unused-parameter
Jon Reid

14
이 모든 것이 컴파일러에 따라 다릅니다. LLVM GCC 컴파일러를 사용하는 한 프로젝트 -w에서 트릭을 수행하고 일반 GCC 컴파일러를 사용하는 다른 프로젝트 -Wno-name-of-warning에서 유일한 방법입니다.
Bobrovsky

6
힌트 주셔서 감사합니다, 또한 나를 위해 일했습니다 ( -wLLVM). 수정하지 않으려는 타사 파일을 포함 할 때 매우 편리합니다.
user826955

1
@Zammbi 코드가 자동 생성되므로 경고없이 코드를 생성하도록 수정하십시오. 그렇게 할 수 없다면, Xcode 프로젝트를 자동 패치하여 컴파일러 플래그를 설정하십시오.
Jon Reid

11
Xcode 7.0 및 Apple LLVM 7.0을 사용하는 Swift 2와 작동하지 않음
King-Wizard

6

왼쪽 네비게이터에서 프로젝트를 선택하고 대상을 선택하면 빌드 단계로 이동하고 대상 파일의 빌드 단계에 -w를 넣습니다. 모든 컴파일러 경고를 숨길 것입니다 여기에 이미지 설명을 입력하십시오


17
Xcode 7.0 및 Apple LLVM 7.0을 사용하는 Swift 2와 작동하지 않음
King-Wizard

2
clang 컴파일러 플래그를 외부 컴파일러에 전달하면 작동하지 않습니다. quelle surprise ... swift 컴파일러의 경고 플래그를 Google에 대신 추가하십시오.
jheriko

4

이것은 Xcode 10.2+ 및 Swift 5에서 작동합니다.

수동 수정 :

-w -Xanalyzer -analyzer-disable-all-checksXcode> 프로젝트> 대상> 컴파일 소스에서 문제가있는 파일에 추가 > 경고를 끄려는 파일을 두 번 클릭하십시오.

Cocoapods 수정 :

문제가있는 포드에서 경고를 표시하지 않으 inhibit_warnings려면 podfile 의 플래그를 사용하여 모든 경고를 자동으로 억제 할 수 있습니다 .

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

여기에 이미지 설명을 입력하십시오


cocoapods 수정 프로그램은 대접을 받았습니다. 감사합니다!
adougies
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.