Gibt es eine Möglichkeit, Warnungen in Xcode zu unterdrücken?
Gibt es eine Möglichkeit zum unterdrücken von Warnungen in Xcode?
Zum Beispiel rufe ich eine undokumentierte Methode, und da die Methode nicht in den Kopf-ich bekomme eine Warnung auf kompilieren. Ich weiß, ich kann es in mein Kopf zu stoppen die Warnung, aber ich Frage mich, ob es eine andere Weise, als indem es auf den Kopf (so kann ich behalten Sie den Header sauber und standard) zum unterdrücken der Warnung? Ein pragma oder was?
InformationsquelleAutor der Frage kdbdallas | 2008-10-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Deaktivieren, Warnungen auf einer pro-Datei basis, mit Xcode 3 und llvm-gcc-4.2, die Sie verwenden können:
Wo warn name ist einige gcc-Warnung flag.
Überschreibt dieses alle warn-flags für die Befehlszeile. Es funktioniert nicht mit allen Warnungen aber. Add-fdiagnostics-Karte-option, um Ihre CFLAGS und Sie können sehen, welche Flagge Sie verwenden können, um Sie zu deaktivieren Warnung.
InformationsquelleAutor der Antwort robottobor
gibt es eine einfachere Art und Weise zu unterdrücken nicht verwendete variable Warnhinweise:
BEARBEITEN:
Quelle: http://www.cocoadev.com/index.pl?XCodePragmas
UPDATE:
Ich kam accross mit einer neuen Lösung, eine robustere einer
User-Defined
: finden (oder erstellen Sie, wenn Sie nichts finden )den Schlüssel :GCC_WARN_UNUSED_VARIABLE
legen Sie es aufNO
.BEARBEITEN-2
Beispiel:
der compiler zeigt nicht verwendete variable Warnung für
ok
.Lösung:
PS:
Sie können auch die set/reset Warnung:
GCC_WARN_ABOUT_RETURN_TYPE
:YES/NO
InformationsquelleAutor der Antwort thesummersign
Für den gcc, die Sie verwenden können
Können Sie mehr über die GCC pragma hier und bekomme die Warnung code der Warnung gehen Sie auf die Log-Navigator (Befehl+7), wählen Sie das oberste bauen, erweitern das Protokoll (die " = " - Taste auf der rechten Seite), und ganz nach unten scrollen und dort Eure warning-code in eckigen Klammern, wie dies
[-Wshadow-ivar]
Für clang können Sie
InformationsquelleAutor der Antwort Inder Kumar Rathore
Um surpress eine Warnung für eine einzelne Datei Folgendes tun:
wählen Sie die Datei in das xcode-Projekt.
drücken Sie "get info"
gehen Sie zu der Seite mit den build-Optionen
geben Sie -Wno - zu negieren, eine Warnung:
z.B.
Können Sie den Namen der Warnung wenn Sie einen Blick auf die Projekteinstellungen Blick auf die GCC-Warnungen befindet sich am unteren Rand der Registerkarte "erstellen" - Seite, indem Sie auf jede Warnung es wird Ihnen sagen, die Warnung parameter name:
z.B.
InformationsquelleAutor der Antwort Anders K.
Loswerden der Warnung: versuchen Sie, erstellen Sie eine Kategorie-Schnittstelle für das Objekt in Frage
Als ein beiseite, ich stark abraten aufrufen undokumentierte Methoden in der Versand-code. Die Schnittstelle kann und wird sich ändern, und es wird deine Schuld sein.
InformationsquelleAutor der Antwort Mark Pauley
Mit Objective-C, eine Reihe von gravierenden Fehlern, nur die werden als Warnungen angezeigt. Nicht nur, dass ich nie deaktivieren Sie die Warnungen, die ich normalerweise schalten Sie die "Warnungen als Fehler Behandeln" (-Werror).
Jede Art von Warnung in Ihrem code kann vermieden werden, durch die Dinge korrekt (in der Regel durch die Konvertierung von Objekten in den richtigen Typ) oder durch Deklaration von Prototypen, wenn Sie Sie benötigen.
InformationsquelleAutor der Antwort Matt Gallagher
http://nshipster.com/pragma/#inhibiting-warnings - skip -, um die Hemmung Warnungen Abschnitt
InformationsquelleAutor der Antwort Austin France
Erstellen Sie eine neue, separate header-Datei namens 'Menschen ohne Papiere.h " und fügen Sie es zu Ihrem Projekt. Dann erstellen Sie ein interface-block für jede Klasse, die Sie anrufen möchten undokumentierte Funktionen auf und geben Sie jeder eine Kategorie " (Undokumentierte)'. Dann eben auch, dass eine header-Datei in Ihre PCH. Auf diese Weise Ihre ursprüngliche header-Dateien bleiben sauber, es gibt nur eine andere Datei zu verwalten, und Sie können kommentieren Sie eine Zeile in deinem PCH zu re-aktivieren alle Warnungen wieder.
Ich diese Methode auch verwenden, für abgeschrieben Funktionen in 'Abgeschrieben.h' Kategorie '(Abgeschrieben)'.
der beste Teil ist, können Sie diese selektiv aktivieren/deaktivieren einzelner Warnungen durch Kommentare oder die Kommentarzeichen vor den einzelnen Prototypen.
InformationsquelleAutor der Antwort MarqueIV
Unterdrücken, dass insbesondere die Warnung ist nicht sicher. Der compiler muss wissen, die Typen der Argumente und gibt eine Methode zur Generierung richtigen code.
Zum Beispiel, wenn Sie eine Methode aufrufen, wie dies
[foo doSomethingWithFloat:1.0];
nimmt einen Schwimmer, und es ist kein Prototyp sichtbar ist, dann wird der compiler annehmen, dass die Methode nimmt einen double, und nicht einen float. Dies kann zu Abstürzen führen und falsch interpretierte Werte. In dem Beispiel oben, auf einer little-endian Maschine, wie die intel-Maschinen, die Empfänger-Methode zu sehen wäre 0 übergeben, nicht 1.
Können Sie Lesen, warum in der i386 ABI-docsoder Sie können einfach fixieren Sie Ihre Warnungen. 🙂
InformationsquelleAutor der Antwort Ken