Как сделать субмодуль Swift-фреймворка действительно приватным?

Я нашел другой вопрос, который приносит больше деталей относительно проблемы и возможных решений. Кажется, есть известная ошибка, которая является предметом будущих улучшений.

Классы Objective C в динамической структуре iOS Swift

Я разрабатываю фреймворк в Swift и использую некоторый код Objective-C внутри фреймворка. Пока что моя карта модуля выглядит так:

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

    export *

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

Меня беспокоит то, что все API отMyTools.h видны снаружи фреймворка: например, если вы устанавливаете фреймворк с помощью Cocoapods, то выimport MyModule в ваше приложение (не MyModule.Private), вы можете получить доступMyTools.h что не желательно и излишним. Есть ли способ сделать MyTools невидимым извне?

PS. Я использую Cocoapods для распространения фреймворка, вот мой подспек (самая значительная часть):

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. Заголовок моего зонтика не импортируетсяMyTools.h

PSSS. Просто попытался исключить заголовок из основного модуля:

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

    export *
    exclude header "MyTools.h"

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

Неудачно.

Ответы на вопрос(2)

Ваш ответ на вопрос