/ / Duplicar símbolos (projeto usando biblioteca usando a mesma biblioteca do projeto) - ios, objective-c, xcode

Símbolos duplicados (projeto usando biblioteca usando a mesma biblioteca do projeto) - ios, objective-c, xcode

A é biblioteca estática. B é biblioteca estática que usa o A biblioteca. C é uma aplicação que usa tanto o A e a B bibliotecas.

Problema com símbolos duplicados em C é obvio.

O que é uma solução adequada (oficial) para evitar esse problema. Eu realmente quero usar A dentro B. Todos A, B, C são meus projetos em um espaço de trabalho do Xcode.

Respostas:

0 para resposta № 1

Problema ocorre com suas importações ou seja

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

Em interfaces uns dos outros .. Melhor maneira de fazer para evitar o cenário não é importar .h arquivo na classe de interface em vez disso você pode facilmente fazer

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

na interface e importar os respectivos .h classe no .m Arquivo.

Então deve ficar assim

Dentro A.h classe

@class B;
@class C;

@interface A : NSObject

@end

Dentro A.m classe

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

@end

0 para resposta № 2

@PartiallyFinite respondeu à minha pergunta. Infelizmente no comentário. Como ele não responde para fazer sua resposta de comentário que eu posso aceitar, eu estou citando-o para fechar esta questão.

"Bibliotecas estáticas são compiladas diretamente no executável / biblioteca, então você não precisa linkar C com A. Usar A dentro B, E use B na sua aplicação, mas não ligue A diretamente com seu aplicativo. Apenas inclua os cabeçalhos de A; você não precisa se conectar a ele separadamente, já que ele já está incluído B"