Well, that was a bit short…

When you want to use logging, define the ACC “USE_LOGGING” in the build 
settings.
When you don’t want to use logging, don’t define the ACC.

PS: You can get my logging framework from github: 
https://github.com/Balancingrock/SwifterLog

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:58, Rien <r...@balancingrock.nl> wrote:
> 
> 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

Reply via email to