2014-06-27 18 views
18

Xcode è in grado di verificare i problemi dei Commenti della documentazione e segnalare gli avvertimenti quando qualcosa non è corretto. Ad esempio, ho aggiunto Facebook SDK al mio progetto usando CocoaPods. Ad un certo punto del file FBError.h c'è il seguente codice:Disabilita l'avviso "Commenti documentazione" per i file selezionati

/*! 
@typedef NS_ENUM (NSInteger, FBErrorCategory) 

@abstract Indicates the Facebook SDK classification for the error 

@discussion 
*/ 

Nota che il parametro @discussion è vuoto, e Xcode genererà un avviso di conseguenza:

vuoto comma passato al comando '@discussion'

Tuttavia, Facebook SDK non è l'unica libreria che ho aggiunto al mio progetto e la scheda Problemi è piena di altri avvisi relativi alla documentazione di file di terze parti, dai Pod installati.

Mi piacerebbe sapere come sopprimere questo tipo di avviso per quei file.

+0

A seconda di come avete la vostra configurazione del progetto e quale progetto (s), Target (s), e dipendenze hanno la documentazione Commenti (CLANG_WARN_DOCUMENTATION_COMMENTS) Set a Sì determinerà quali strade sono aperte per sopprimere le cose. Potresti pubblicare una versione sterilizzata del tuo podspec ed elencare i livelli a livello di progetto e/o di destinazione in cui hai impostato 'Commenti documentazione' su SÌ? –

+0

Provalo con XCode 8 [https://stackoverflow.com/questions/42991455/silencing-documentation-issue-warnings-in-xcode/43234526#43234526](https://stackoverflow.com/questions/42991455/silencing -documentation-issue-warnings-in-xcode/43234526 # 43234526) –

risposta

27

È possibile utilizzare questo frammento per sopprimere gli avvertimenti:

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

#import <YourHeader.h> 

#pragma clang diagnostic pop 

vedono questo cocoapod-problema per i dettagli: https://github.com/CocoaPods/CocoaPods/issues/1481 (frammento viene da lì)

+0

Grazie! Non è fantastico doverlo fare ovunque vengano importate le intestazioni, ma è meglio che disabilitare gli avvisi per l'intero target. – Jim

+0

è meno digitante se si crea una macro per le impostazioni di pragma, ovvero: #define DISABLE_DWARN \ _Pragma ("clang diagnostic push") \ _Pragma ("clang diagnostic warning \" - Wdeprecated-declarations \ "") ma non Penso che tu possa usare #import in una macro. – Thorsten

+2

Viene visualizzato un avviso a meno che l'ultima riga sia '#pragma clang diagnostico pop' –

8

Che dire ignorando avvertimento proveniente dalla biblioteca aggiunto da cocoapods ?

Nella tua podfile, aggiungere

inhibit_all_warnings! 

per rimuovere tutte avvertimento

O

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

per rimuovere avvertimenti libreria specifica.

+8

Questo non funziona per la documentazione – Renetik

+0

Grazie. Funziona per me. # Rimuovi il commento dalla riga successiva per definire una piattaforma globale per la tua piattaforma di progetto : ios, '10 .3 ' inhibit_all_warnings! pod 'RealmSwift'' –

7

Affronto lo stesso problema quando uso i cocoapodi.
Se si utilizza cocoapods, e vuole mettere a tacere gli avvertimenti da file baccelli, si può fare questo:

  1. In del bersaglio Build Settings, selezionare All & & Levels, quindi cercare documentation comments.
  2. Quindi modifica il documentation comments del progetto in NO, cambia il numero di riferimento documentation comments in YES.
  3. Quindi pulisci il floder di build (premi Comando + Opzione + Maiusc + K), rebuida il tuo obiettivo. Silenzierai l'avviso Document issue dai file dei tuoi pod e li conserverai per i tuoi file.
  4. Nel caso in cui si desideri disattivare anche i propri file, mantenere il numero di riferimento documentation comments su NO farà il trucco.
  5. Il risultato sarà simile a questa:

enter image description here

+0

gli avvisi di documentazione continuano a essere visualizzati dopo aver seguito i passaggi della domanda, anche dopo la ricostruzione pulita. – Raptor

+0

@Raptor controlla sia gli obiettivi che il progetto 'Commenti documentazione', seleziona 'Livelli' nell'angolo in alto a sinistra Il risultato 'Risolto 'è, e ciò che lo esclude. – wj2061

Problemi correlati