Когда я собираю свое простое приложение какао-меню, написанное на Swift 4 с Xcode 9, многие библиотеки libswift * .dylib связываются / загружаются / встраиваются в комплект .app, в папку Frameworks, как показано ниже:
В моем проекте используются только import Cocoa
и import Foundation
, а некоторые функции @objc используются в качестве селектора для функций таймера. Я действительно не думаю, что моему очень простому приложению menubar потребуются некоторые функции библиотеки 3D-рендеринга Metal или какой-либо SwiftOnoneSupport, поэтому я бы хотел, чтобы они были удалены из пакета .app . (Те же библиотеки также включены в вспомогательное приложение для запуска при входе в систему, что позволяет даже вспомогательному приложению превышать 10 МБ)
Я бы подумал, что XCode просто скопирует все необходимое по умолчанию. Некоторые похожие вопросы были заданы здесь и здесь , но я не думаю, что есть исчерпывающий и актуальный ответ на оба вопроса.
То, что я пробовал до сих пор
Я установил ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES
на NO
в Build Settings
. Это, кажется, не имеет никакого эффекта.
Я установил LINK_WITH_STANDARD_LIBRARIES
на NO
в Build Settings
. Он разрушил все и не смог его собрать, хотя я пытался самостоятельно добавить некоторые фреймворки (Cocoa, Foundation) в разделе «Связанные фреймворки и библиотеки».