/ / Símbolos duplicados (proyecto que usa la biblioteca usando la misma biblioteca que el proyecto) - ios, objetivo-c, xcode

Símbolos duplicados (proyecto usando una biblioteca usando la misma biblioteca como proyecto) - ios, objetivo-c, xcode

A es una biblioteca estática B es una biblioteca estática que usa el A biblioteca. C es una aplicación que usa tanto el A y el B bibliotecas.

Problema con símbolos duplicados en C es obvio.

¿Cuál es la solución adecuada (oficial) para evitar este problema? Realmente quiero usar A en B. Todas A, B, C son proyectos mineros en un espacio de trabajo Xcode.

Respuestas

0 para la respuesta № 1

El problema ocurre con sus importaciones, es decir,

#import "A.h"
#import "B.h"
#import "C.h"

En las interfaces de cada uno .. Mejor manera de hacerlo para evitar el escenario es no importar .h archivo en la clase de interfaz en su lugar, puede hacer fácilmente

@class A;
@class B;
@class C;

en la interfaz, e importar los respectivos .h clase en el .m archivo.

Entonces debería verse así

En A.h clase

@class B;
@class C;

@interface A : NSObject

@end

En A.m clase

#import "B.h"
#import "C.h"
@implementation A

@end

0 para la respuesta № 2

@PartiallyFinite respondió mi pregunta. Lamentablemente en el comentario. Como él no responde para hacer que su comentario responda que puedo aceptar, le cito que cierre esta pregunta.

"Las bibliotecas estáticas se compilan directamente en el ejecutable / biblioteca, por lo que no es necesario vincularlas C con A. Utilizar A en B, y use B en su aplicación, pero no enlace A directamente con su aplicación. Solo incluye los encabezados de A; no necesita vincularlo por separado ya que ya está incluido en B"