Does it work with swift3?

Issue #8 resolved
Vamsee Lakamsani created an issue

My project is Swift3. Trying to use this via pods causes the build to fail as it expects CoacoaLumberJack/Swift 2.2 version which is not Swift3 compliant. Is there any plan to make this Swift3 compliant?

pod install with these two lines:

pod 'CocoaLumberjack/Swift', '~> 3.0.0'
pod 'PaperTrailLumberjack/Swift', '~> 0.1.6'

gives the error below. My project builds and works fine with just pod 'CocoaLumberjack/Swift', '~> 3.0.0'

Analyzing dependencies [!] Unable to satisfy the following requirements:

  • CocoaLumberjack/Swift (~> 3.0.0) required by Podfile
  • CocoaLumberjack/Swift (~> 3.0.0) required by Podfile
  • CocoaLumberjack/Swift (~> 3.0.0) required by Podfile
  • CocoaLumberjack/Swift (~> 3.0.0) required by Podfile
  • CocoaLumberjack/Swift (~> 3.0.0) required by Podfile
  • CocoaLumberjack/Swift (~> 3.0.0) required by Podfile
  • CocoaLumberjack/Swift (~> 3.0.0) required by Podfile
  • CocoaLumberjack/Swift (~> 3.0.0) required by Podfile
  • CocoaLumberjack/Swift (= 3.0.0) required by Podfile.lock
  • CocoaLumberjack/Swift (~> 2.2) required by PaperTrailLumberjack/Swift (0.1.6)

Comments (7)

  1. George Malayil

    Hi,

    Thank you for reporting this. Off the top of my head, it should work with Swift 3 (by just editing the pod spec to use CocoaLumberjack 3.0.0). I can try and get to it this weekend or the next. In the meantime, if you would like to submit a PR after changing and testing, I'd be happy to accept it :)

  2. Vamsee Lakamsani reporter

    Hi George, we are evaluating the papertrail product and this is one of the blockers before we can complete the evaluation. As you can see from my initial report, simply referencing CocoaLumberJack 3.0.0 isn't working. We have converted our own very large iOS app to Swift 3 recently and it was non trivial effort. If PaperTrail can make this work with Swift 3 we can revisit the product evaluation.

  3. George Malayil

    Hi Vamsee,

    You could try forking the project and editing the PaperTrailLumberjack.podspec, changing the dependency on CocoaLumberjack from 2.4.0 to 3.0. You could then reference your local edited pod spec in your app. While this should remove the dependency requirement errors, you are seeing above, I'm not sure if it will throw up other compilation errors. The PaperTrailLumberjack code is in Objective-C, so, I am not expecting any (unless CocoaLumberjack/CocoaAsyncSocket have made changes to their public API). Hope this helps :)

    I'll try and get to testing it myself either this weekend or next

  4. George Malayil

    P.S, This code is not maintained by papertrailapp. While, I have worked with them in the past, it is mostly maintained by me and other contributors - based on our free time. I just wanted to clear that up, so that, you wouldn't think the delay was a reflection on them or their support team.

  5. Vamsee Lakamsani reporter

    George, sounds good and thanks for the clarification, your contribution and suggestions. This plugin is mentioned in paper trail help docs as the first approach to iOS log upload to their server. So it might make sense for them to invest more here as it is such a useful feature in their product.

  6. Log in to comment