Como tornar um submódulo do framework Swift realmente privado?

Encontrei outra pergunta que traz mais detalhes sobre o problema e possíveis soluções. Parece que existe um bug conhecido que está sujeito a melhorias futuras.

Classes de objetivo C em uma estrutura dinâmica baseada no iOS Swift

Estou desenvolvendo uma estrutura no Swift e estou usando algum código Objective-C dentro da estrutura. Até agora, meu mapa de módulos é assim:

framework module MyModule {
    umbrella header "MyModule-umbrella.h"

    export *

    explicit module Private {
        header "MyTools.h"
    }
}

Minha preocupação é que todas as APIs deMyTools.h são visíveis fora da estrutura: por exemplo, se você instalar a estrutura usando Cocoapods, então vocêimport MyModule no seu aplicativo (não MyModule.Private), você pode acessarMyTools.h o que não é desejável e redundante. Existe alguma maneira de tornar o MyTools invisível de fora da estrutura?

PS. Eu uso Cocoapods para distribuir o framework, aqui está o meu podspec (a parte mais significativa):

s.module_map    = 'Pod/MyModule.modulemap'
s.frameworks    = 'CoreData', 'CoreTelephony', 'SystemConfiguration'
s.resources     = 'Pod/Classes/MessageStorage/*.xcdatamodeld'
s.public_header_files = 'Pod/Classes/**/*.h'
s.private_header_files = 'Pod/Classes/MyTools/**/*.h'
s.source_files  = 'Pod/Classes/**/*.{h,m,swift}'

PSS. O cabeçalho do meu guarda-chuva não importaMyTools.h

PSSS. Apenas tentei excluir o cabeçalho do módulo principal:

framework module MyModule {
    umbrella header "MyModule-umbrella.h"

    export *
    exclude header "MyTools.h"

    explicit module Private {
        header "MyTools.h"
    }
}

Sem sorte

questionAnswers(2)

yourAnswerToTheQuestion