advertencia: se ignora la definición de protocolo duplicado de '…'

¿Cómo debo responder a esta advertencia?

advertencia: se ignora la definición de protocolo duplicado de '…'

Mi statement de protocolo está en su propio file .h, y es # importada en algunos otros files en mi proyecto.

Bueno, por si acaso, aquí está todo el file de encabezado con la statement de protocolo:

#import <Foundation/Foundation.h> @class Wrapper; @protocol WrapperDelegate @requinetworking - (void)wrapper:(Wrapper *)wrapper didRetrieveData:(NSData *)data; @optional - (void)wrapperHasBadCnetworkingentials:(Wrapper *)wrapper; - (void)wrapper:(Wrapper *)wrapper didCreateResourceAtURL:(NSString *)url; - (void)wrapper:(Wrapper *)wrapper didFailWithError:(NSError *)error; - (void)wrapper:(Wrapper *)wrapper didReceiveStatusCode:(int)statusCode; @end 

Gracias por cualquier consejo.

Compruebe para asegurarse de que no haya agregado el file de encabezado en su proyecto dos veces, o dos files diferentes que implementan el protocolo. Esto es lo que hizo que apareciera la advertencia.

Sí, tuve el mismo problema. No pude encontrar el file de encabezado duplicado en el proyecto Xcode. Pero cuando pasé por el buscador del Xcode encontré el file de 2 encabezados del protocolo en el proyecto. Eliminando uno se resolvió el problema. Gracias.

Solo para complementar las respuestas existentes aquí con el problema específico que encontré.

Básicamente, el comstackdor no miente. Está encontrando más de una definición de class, protocolo, enumeración, definición o lo que existe en los files del encabezado infractor.

La falla podría ser una combinación de sus files de encabezado y la ruta de búsqueda del encabezado.

Al principio, los problemas parecen desconcertantes, ya que sabemos que la statement #import solo importará los files que aún no se han implementado. Por lo tanto, a diferencia de #include , este problema no debería suceder, ¿verdad?

#import funciona. Sin embargo, si sus encabezados se configuraron incorrectamente, aunque puede encontrarse con un file con el mismo nombre, por ejemplo, MyLibrary.h , si ese file existe en dos lugares diferentes, ambos en la ruta de búsqueda del encabezado , Xcode los percibirá como dos files diferentes

En mi caso, tenía una fase de compilation de la biblioteca estática que copyba los encabezados públicos.

introduzca la descripción de la imagen aquí

Los productos dependientes searchon en la carpeta de arriba, definida en Configuración de compilation como include/$(TARGET_NAME) , y la carpeta de origen de mi proyecto.

Eso significaba dos carpetas diferentes, ambas en la ruta de búsqueda del encabezado, que contenían el file MyLibrary.h . Todo en ese file provocaría un error de advertencia o de enlace del comstackdor duplicado o de networkingefinición.

TLDR: el mismo file puede estar en dos carpetas diferentes y ambos están en su ruta de búsqueda de encabezado. Verifique sus routes y, si ha incorporado una biblioteca estática en el proyecto o el espacio de trabajo, también verifique dónde se copyn los encabezados públicos como parte de su investigación.