You need conditional compilation. Called “Active Compilation Conditions” in the build settings.
For example define a ACC of “USE_LOGGING” Then in your code: #if USE_LOGGING import Logging #else struct Logging { func debug(message: string) {} } #endif Regards, Rien Site: http://balancingrock.nl Blog: http://swiftrien.blogspot.com Github: http://github.com/Balancingrock Project: http://swiftfire.nl > On 06 Mar 2017, at 17:26, Jakub Bednář via swift-users > <swift-users@swift.org> wrote: > > Hello everyone, > > I am trying to add optional logging into my framework, but for sake of this > question, lets assume I want to add optional logging into an app. I have > created an example with following setup: > > 1. Logging.framework declares > > public protocol Logging { > func debug(message: String) > } > > and I have build the framework for the app to see it. > > 2. Application has > > import Logging > > public class Engine { > > let logger: Logging? > > public init(withLogger logger: Logging? = nil) { > self.logger = logger > } > > public work() { > self.logger?.debug(“Working”) > } > } > > Now I don’t have the Logging.framework in Embed Binaries nor Link Frameworks > lists. My app builds ok, but then fails to start telling me that > Logging.framework was not loaded. I checked the binary using otool -L and > Logging.framework is still referenced by the binary. Is there any way how to > achieve my goal? This would be trivial with Objective-C and I still can’t > figure it out in Swift. > > Thanks a lot, > > J. > > _______________________________________________ > swift-users mailing list > swift-users@swift.org > https://lists.swift.org/mailman/listinfo/swift-users _______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users