2011-11-03 3 views
54

프로젝트에 three20 프로젝트를 가져 왔으며, iOS 5로 Xcode 4.2로 업그레이드하면 프로젝트에 경고가 나타납니다.Xcode에서 프레임 워크의 경고 사용 안 함

나는 그들에 대해 신경 쓰지 않지만 그들은 많은 소음을 내 프로젝트에서 실제 경고를 놓치기 쉽다. 특정 라이브러리에 대한 경고를 비활성화하는 방법이 있습니까? 타사 라이브러리는 별도의 대상으로 추가하는 경우

답변

138
  1. , 당신은 모든 경고를 해제 특정 대상에 대해 Inhibit all warnings를 확인할 수 있습니다.

  2. 라이브러리가 현재 대상에 일반 소스 파일로 추가되면 개별 소스에 대해 -w 컴파일러 플래그를 설정하여 모든 경고를 음소거 할 수 있습니다. 타겟 설정의 Build phases 메뉴로 가서 각 소스 파일의이 플래그를 Compile Sources 섹션에 설정하고 각 파일 끝에 -w 플래그를 두 번 클릭하여 설정해야합니다. 당신이 포드를 사용하는 경우 enter image description here

+12

이 절대적으로 올바른 접근 방법이다. 타사 코드를 수정하지 말고 경고를 전 세계적으로 끄지 마십시오. 다른 유사한 접근법은 타사 코드를 별도의 프로젝트로 옮기고 정적 lib를 구축하는 것입니다. 그렇게하면 자체 빌드 설정을 가질 수 있습니다. –

+1

가끔씩 나는 적어도 몇 번 upvote 할 수 있었으면 좋겠다. 이것은 그 시대의 하나입니다. –

+0

[이 기사] (http://adoptioncurve.net/archives/2013/02/selectively-disabling-warnings-with-xcode-compiler-flags/)는 개별 파일 플래그에 대한 몇 가지 추가 정보를 제공합니다. 그들은'-w -Xanalyzer -analyzer-disable-checker'를 사용하여 제안합니다 – KPM

3

, 당신은 경고 로깅을 방지하기 위해 podfile이를 추가 할 수 있습니다

post_install do |installer| 
    installer.pods_project.targets.each do |target| 
    target.build_configurations.each do |config| 
     config.build_settings['GCC_WARN_INHIBIT_ALL_WARNINGS'] = "YES" 
    end 
    end 
end