485 Stimmen

Xcode-Warnungen bei der Verwendung von Cocoapods ignorieren

Ich verwende eine ganze Reihe von Bibliotheken von Drittanbietern, die nach den letzten Xcode-Updates viele Warnungen enthalten. (zum Beispiel das Facebook SDK pod) Jetzt werden all diese Warnungen in meinem Xcode an der Stelle angezeigt, an der ich meine eigenen Warnungen oder Fehler sehen möchte.

Gibt es eine Möglichkeit, diese Fehler zu ignorieren? Sie zu beheben wird nicht helfen, da nach jeder "Pod-Installation" die Änderungen verworfen werden.

1097voto

alloy Punkte 20608

Zu Ihrem Podfile hinzufügen:

platform :ios

# ignore all warnings from all pods
inhibit_all_warnings!

# ignore warnings from a specific pod
pod 'FBSDKCoreKit', :inhibit_warnings => true

Dann ausführen: pod install

39voto

Teja Swaroop Punkte 1129

Sie können in den Xcode-Build-Einstellungen des PodBundle in Ihrem Projektarbeitsbereich nach "inhibit_all_warnings" suchen. Wenn Sie den Wert auf "YES" setzen, werden alle Warnungen für Ihre Pod-Dateien ausgeblendet.

Wenn Sie dies für Ihren Arbeitsbereich tun, werden auch alle Projektwarnungen ausgeblendet.

21voto

Toseef Khilji Punkte 17012

Schritt: 1 Fügen Sie das folgende Skript in Ihr Podfile ein.

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

Schritt 2. Machen Sie pod install .

8voto

Jedidja Punkte 15924

Obwohl diese andere Antwort Warnungen während der Build-Phase entfernt, scheint das Problem nicht vollständig zu beheben. Analyze Phase (was dazu führte, dass unser CI-Build immer noch Probleme hatte).

Was mir geholfen hat (zusätzlich zu der akzeptierten Antwort) war:

  • Klicken Sie auf das Pods Projekt aus dem Projektnavigator

  • Wählen Sie die aktuelle Pod- Ziel und klicken Sie auf Build Settings

  • Filter mit der Phrase compiler flags

  • Hinzufügen einer neuen Other C Flags mit dem Wert -w -Xanalyzer -analyzer-disable-checker -Xanalyzer core (oder die Analysatoren, die Sie deaktivieren müssen) - diese Antwort enthält die vollständige Liste der Flaggen, die Sie ausprobieren können - bitte bewerten Sie sie!

    Die Version von clang in Xcode 6.3.1 scheint jedoch nicht zu enthalten insecureAPI damit Sie sie aus dieser Liste entfernen können. Die "aktuelle" vollständige Liste lautet -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

Beachten Sie, dass diese Einstellung in der Pods Projekt oder Pods Ziel wird nicht funktionieren . Ich bin mir nicht sicher, warum, aber Sie müssen es für jede aktuelle Pod- Ziel.

Sie können auch die Compiler-Flags setzen ( -w -Xanalyzer -analyzer-disable-checker -Xanalyzer core usw.) auf einer auf Dateibasis .

Ich habe auch ein paar andere Methoden ausprobiert (die zusätzlich zu den oben genannten erforderlich sein können oder auch nicht). Sie wurden durchgeführt auf dem Pods Das Projekt selbst.


[1]

  • Filter mit der Phrase analyzer
  • Vergewissern Sie sich Analyze During 'Build' wird eingestellt auf NO .
  • Ändern Sie alle Einstellungen auf NO (einschließlich Improper Memory Management )

[2]

  • Filter mit der Phrase warnings
  • Ändern Sie inhibit all warnings a YES

Aus irgendeinem Grund kann sogar die Deaktivierung des Analyze Schritt im Schema scheint nicht zu funktionieren.

Gehen Sie zum Product > Scheme > Manage Schemes Fenster, klicken Sie auf jedes Pod-* aus der Liste und klicken Sie auf die Schaltfläche Edit Taste. Klicken Sie auf . Build in der linken Liste, und dann abhaken. Analyze auf der rechten Seite für die Pod Ziel.

Ich bin immer noch verwirrt, warum ich die Analyse der Pods nicht vollständig deaktivieren kann, obwohl ich vermute, dass es mit der Aktivierung von "Find implicit dependencies" in den Build-Einstellungen des Schemas zu tun haben könnte. Wenn das deaktiviert war, obwohl, es sieht aus wie etwas anderes passieren müsste für die App zu den Pods zu verknüpfen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X