Ответ 1
Добавить в подфайл:
platform :ios
# ignore all warnings from all pods
inhibit_all_warnings!
# ignore warnings from a specific pod
pod 'FBSDKCoreKit', :inhibit_warnings => true
Затем выполните: pod install
Я использую довольно много сторонних библиотек, у которых в нем много предупреждений, после последних обновлений Xcode. (например, модуль SDK для Facebook) Теперь все эти предупреждения отображаются в моем Xcode на том месте, где я хочу видеть свои собственные предупреждения или ошибки.
Можно ли игнорировать эти ошибки? Фиксация их не поможет, так как после каждой установки "pod install" изменения отбрасываются.
Добавить в подфайл:
platform :ios
# ignore all warnings from all pods
inhibit_all_warnings!
# ignore warnings from a specific pod
pod 'FBSDKCoreKit', :inhibit_warnings => true
Затем выполните: pod install
Вы можете искать "inhibit_all_warnings" в настройках сборки xcode в PodBundle в вашем рабочем пространстве проекта, чтобы установить значение "YES", оно скроет все ваши предупреждения в файле Pod.
Если вы сделаете это в своем рабочем пространстве, он также скроет весь ваш проект.
Хотя этот другой ответ удалит предупреждения во время фазы сборки, он, похоже, не полностью исправит фазу Analyze
(что привело к тому, что наша сборка CI оставалась неподвижной имеют проблемы).
Что сработало для меня (помимо принятого ответа):
Pods
в Навигаторе проектовPod-
и нажмите Build Settings
compiler flags
Добавьте новый Other C Flags
со значением -w -Xanalyzer -analyzer-disable-checker -Xanalyzer core
(или независимо от того, какие анализаторы вам нужно отключить) - этот ответ предоставляет полный список флагов для попробуйте - пожалуйста, повысьте его!
Однако версия clang
в Xcode 6.3.1 не включает insecureAPI
, поэтому вы можете удалить ее из этого списка. "Текущий" полный список -w -Xanalyzer -analyzer-disable-checker -Xanalyzer alpha -Xanalyzer -analyzer-disable-checker -Xanalyzer core -Xanalyzer -analyzer-disable-checker -Xanalyzer cplusplus -Xanalyzer -analyzer-disable-checker -Xanalyzer deadcode -Xanalyzer -analyzer-disable-checker -Xanalyzer debug -Xanalyzer -analyzer-disable-checker -Xanalyzer llvm -Xanalyzer -analyzer-disable-checker -Xanalyzer osx -Xanalyzer -analyzer-disable-checker -Xanalyzer security -Xanalyzer -analyzer-disable-checker -Xanalyzer unix
Обратите внимание, что установка этого параметра в проекте Pods
Project или Pods
не будет работать. Я не уверен, почему, но вы должны установить его для каждой фактической цели Pod-
.
Вы также можете установить флаги компилятора (-w -Xanalyzer -analyzer-disable-checker -Xanalyzer core
и т.д.) на для каждого файла.
Я также пробовал пару других методов (которые могут или не могут потребоваться в дополнение к выше). Они были выполнены в самом проекте Pods
.
[1]
analyzer
Analyze During 'Build'
установлено значение NO
.NO
(включая Improper Memory Management
)[2]
warnings
inhibit all warnings
на YES
По какой-то причине даже отключение шага Analyze
в схеме не работает.
Перейдите в окно Product > Scheme > Manage Schemes
, щелкните по каждому Pod-*
в списке и нажмите кнопку Edit
. Нажмите Build
в левом списке, а затем снимите флажок Analyze
с правой стороны для цели Pod
.
Я все еще смущен тем, почему я не могу полностью отключить Pods от анализа, хотя я ожидаю, что это может иметь отношение к "Поиск неявных зависимостей", установленным в настройках построения схемы. Однако, если это не было проверено, похоже, что приложение должно будет подключиться к другим приложениям.
Шаг: 1 Поместите приведенный ниже скрипт в ваш 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
Шаг 2. pod install
.