Obtendo o erro “Duplicate Interface Definition”, definitivamente tem que # importar arquivos de cabeçalho

Estou ajudando em um projeto iOS com muitos métodos e definições comuns a muitas classes diferentes no AppDelegate. Portanto, em cada uma dessas classes, no arquivo .h, uso #import "AppDelegate.h". Isso funciona bem até que eu precise acessar uma dessas classes que já importa o AppDelegate em outra classe que importa AppDelegate. Neste ponto, recebo um erro de Definição de Interface Duplicada para AppDelegate.

Ok, isso parece justo. Eu já estou importando o AppDelegate em um arquivo que estou importando, então o AppDelegate está sendo importado de dois locais diferentes. Então eu removo a linha AppDelegate, e está tudo bem.

Mas o que acontece quando eu preciso importar duas classes que precisam importar o AppDelegate?

Eu tenho um problema muito específico que estou tentando entender, e sei que isso está sendo causado por algo que tem a ver com isso, mas não tenho certeza do que. Então, espero que eu descubra como devo lidar com esse tipo de importação e classifique todo o resto, e espero que isso resolva meu problema. Então, para colocar isso em termos mais concretos:

Eu tenho ClassA.h, ClassB.h e ClassC.h. Todos têm #import "AppDelegate.h". Quando preciso usar #import "ClassB.h" na ClassA, removo a linha #import "AppDelegate.h" da ClassA. Tudo funciona bem. Mas o que acontece se eu também precisar #importar "ClassC.h" na ClassA, e apenas ClassB e ClassC NEED para ter o #import "AppDelegate.h"?

EDITAR:

Eu tentei o cenário exato que descrevi acima em um projeto limpo, e ele construiu bem, então há algo mais em jogo. Mas o que posso dizer com certeza é que quando esse problema surgiu anteriormente com este projeto, era uma definição de interface duplicada de AppDelegate e, quando removi a linha #import "AppDelegate.h", o erro desapareceu e eu ainda tinha acesso aos métodos AppDelegate.h e enums através de outros arquivos importados.

questionAnswers(6)

yourAnswerToTheQuestion