2014-06-27 10 views
18

Xcode kann nach Problemen mit Dokumentationskommentaren suchen und Warnungen ausgeben, wenn etwas nicht stimmt. Zum Beispiel habe ich Facebook-SDK zu meinem Projekt mit CocoaPods hinzugefügt. An einem gewissen Punkt in der Datei FBError.h gibt es den folgenden Code ein:Warnung "Dokumentationskommentare" für ausgewählte Dateien deaktivieren

/*! 
@typedef NS_ENUM (NSInteger, FBErrorCategory) 

@abstract Indicates the Facebook SDK classification for the error 

@discussion 
*/ 

Beachten Sie, dass die @discussion Parameter leer ist, und Xcode eine Warnung entsprechend generieren:

Leer Absatz übergeben an ‚@discussion‘ Befehl

Allerdings ist Facebook SDK nicht die einzige Bibliothek, die ich zu meinem Projekt hinzugefügt habe, und die Registerkarte Issues ist, von anderen Unterlagen im Zusammenhang Warnungen von 3rd-Party-Dateien voll von dem Pods ich installierte.

Ich würde gerne wissen, wie Sie diese Art von Warnung für diese Dateien unterdrücken können.

+0

Je nachdem, wie Sie Ihr Projekt eingerichtet haben und welches Projekt (e), Target (s) und Abhängigkeiten haben die Dokumentation Kommentare (CLANG_WARN_DOCUMENTATION_COMMENTS) Satz Ja bestimmt, welche Wege offen sind, Dinge zu unterdrücken. Könnten Sie eine gesäuberte Version Ihrer podspec veröffentlichen und Projektebene und/oder Zielebene (n) auflisten, in denen Sie "Dokumentationskommentare" auf JA gesetzt haben? –

+0

Versuchen Sie das mit XCode 8 [https://stackoverflow.com/questions/42991455/silecuting-documentation-issue-warnings-in-xcode/43234526#43234526](https://stackoverflow.com/questions/42991455/sileingting -documentation-issue-warnings-in-xcode/43234526 # 43234526) –

Antwort

27

Sie diese Schnipsel, die Warnungen zu unterdrücken können:

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "-Wdocumentation" 

#import <YourHeader.h> 

#pragma clang diagnostic pop 

diese cocoapod-Ausgabe für Details siehe: https://github.com/CocoaPods/CocoaPods/issues/1481 (Schnipsel von dort kommt)

+0

Danke! Es ist nicht großartig, dies überall dort zu tun, wo die Header importiert werden, aber es ist besser, als die Warnungen für das gesamte Ziel zu deaktivieren. – Jim

+0

es ist weniger Eingabe, wenn Sie ein Makro für die Pragma-Einstellungen erstellen, dh: #define DISABLE_DWARN \ _Pragma ("Clang Diagnose Push") \ _Pragma ("Clang diagnostische Warnung \" - Wdeprecated-Deklarationen \ ""), aber ich don Ich denke, Sie können #import in einem Makro verwenden. – Thorsten

+2

Ich bekomme eine Warnung, es sei denn die letzte Zeile ist '#pragma clang diagnostic pop' –

8

Was ignoriert aus der Bibliothek von cocoapods hinzugefügt kommenden Warnung ?

In Ihrem podfile, fügen

inhibit_all_warnings! 

alle Warn

Oder

pod 'Facebook-iOS-SDK', :inhibit_warnings => true 

entfernen Warnungen von bestimmten Bibliothek zu entfernen.

+8

Dies funktioniert nicht für die Dokumentation – Renetik

+0

Vielen Dank. Das funktioniert für mich. # Kommentieren Sie die nächste Zeile, um eine globale Plattform für Ihr Projekt zu definieren. Plattform: ios, '10 .3 ' inhibit_all_warnings! pod 'RealmSwift'' –

7

Ich habe das gleiche Problem bei der Verwendung von Cocoapoden.
Wenn Sie cocoapods verwenden und will die Warnungen von Schoten Dateien zum Schweigen zu bringen, können Sie dies tun:

  1. In Ihrem Ziel Build Settings wählen All & & Levels, dann für documentation comments suchen.
  2. Ändern Sie dann die documentation comments Ihres Projekts in NO, ändern Sie die documentation comments Ihres Ziels in YES.
  3. Dann Clean Build Flunder (Drücken Sie Befehl + Wahl + Shift + K), rebuid Ihr Ziel.Sie werden die Document issue Warnung aus Ihren Pods-Dateien zum Schweigen bringen und immer noch für Ihre eigenen Dateien haben.
  4. Wenn Sie auch Ihre eigenen Dateien zum Schweigen bringen wollen, halten Sie die documentation comments Ihres Ziels auf NO.
  5. Das Ergebnis wird wie folgt aussehen:

enter image description here

+0

Dokumentation Warnungen erscheinen immer noch nach dem Befolgen der Schritte in Ihrer Frage, auch nach dem sauberen Wiederaufbau – Raptor

+0

@Raptor überprüfen Sie sowohl Ziele und Projekt 'Dokumentation Kommentare, wählen Sie Ebenen in der oberen linken Ecke, um zu sehen, was 'Resolved' Ergebnis ist, und was überschreibt es. – wj2061

Verwandte Themen