2014-10-02 6 views
11

У меня есть рабочее пространство Xcode, настроенное с помощью CocoaPods. Когда я запускаю анализатор Xcode в моем проекте, он анализирует мой исходный код, а также весь исходный код в целевых группах. Это вызывает множество предупреждений, которые меня не интересуют, поскольку я хочу только увидеть предупреждения анализатора моего собственного исходного кода.Xcode Analyzer - Игнорировать цели CocoaPods

Я снял флажок «Анализировать» из цели сборки для контейнеров, но это, похоже, не имеет никакого эффекта.

Есть ли способ игнорировать объекты Pods при запуске анализатора?

enter image description here

+1

Ответ здесь http://stackoverflow.com/questions/13208202/ignore-xcode-warnings-when-using-cocoapods –

+1

@YuriSolodkin Это для предупреждений , а не предупреждения статического анализатора – CarmeloS

ответ

3

Вы можете добавить запись установить шаг в конце вашего podfile добавить флаги компилятора, которые управляют статический анализатор.

post_install do |installer| 
    puts 'Removing static analyzer support' 
    installer.project.targets.each do |target| 
     target.build_configurations.each do |config| 
      config.build_settings['OTHER_CFLAGS'] = "$(inherited) -Qunused-arguments -Xanalyzer -analyzer-disable-all-checks" 
     end 
    end 
end 

Затем просто запустите команду «pod update», чтобы восстановить файлы проекта.

Различных частей:

  • $ (наследуется) - хорошая привычка не избежать случайного удаления флагов
  • -Qunused-аргументов - LLVM не понимают вариант лязга, это заглушает полученное предупреждение из основной компиляции
  • -Xanalyzer -analyzer-disable-all-checks - Это указывает статическому анализатору игнорировать файлы в связанном проекте.
+0

Это работает для моих Cocoapods 0.35.0. – CarmeloS

5

Вот обновление/изменение для существующего ответа:

С Cocoapods 0.38+ атрибут инсталлятора нужно, чтобы получить проект изменился таким образом, что вам нужно использовать «pods_project» вместо «проекта», как так:

post_install do |installer| 
    puts 'Removing static analyzer support' 
    installer.pods_project.targets.each do |target| 
     target.build_configurations.each do |config| 
      config.build_settings['OTHER_CFLAGS'] = "$(inherited) -Qunused-arguments -Xanalyzer -analyzer-disable-all-checks" 
     end 
    end 
end 

Смотрите следующее объявление Cocoapods блог для более подробной информации об изменении: http://blog.cocoapods.org/CocoaPods-0.38/#breaking-change-to-the-hooks-api

Кроме того, вот (закрытый) вопрос показывает ошибку вы бы получите, если вы попробовали старый путь с новым кодом: https://github.com/CocoaPods/CocoaPods/issues/3918

Смежные вопросы