> On Aug 28, 2014, at 6:21 AM, Tim Carr <[email protected]> wrote: > The 1.0.2 Couchbase-lite update broke our build. And it took me an hour to > work out why :(
Tim, please don't reply to announcement posts with bug reports. Instead please start a new thread. > Somewhere between the 1.0.0 -> 1.0.2 update, Couchbase-lite started using > DDLog from CocoaLumberjack. Actually it's always used DDLog. Or rather, it's always used CocoaHTTPServer, which contains classes from CocoaLumberjack including DDLog. And none of that code has changed in a long time. > ... and causes the app to crash as soon as DDLog is called. It sounds like your app and CBL are using different and incompatible versions of DDLog. > Please don't define DDLog* symbols directly in Couchbase frameworks -- > instead, update your .podspec to depend upon the CocoaLumberjack pod. We don't use CocoaPods in our build process and we don't officially support CocoaPods. The CBL podspec was created by a third party as a convenience for developers who build their apps with CocoaPods. I've been very skeptical of CocoaPods in the past — version 1 had a methodology that was too simplistic for complex libraries like CBL — but I recognize that it's gotten more sophisticated over time. And I know very well that Objective-C has issues (like a flat runtime namespace for classes) that lead to collisions like this, and maybe CocoaPods is the best solution we have now for dealing with those dependency problems. I don't know if your proposed solution would have eliminated this problem. More likely it would have just produced a more intelligible error, with the pod tool reporting that your app and CBL require incompatible versions of DDLog. (But at least that would have saved you some debugging time.) Versioning is always a problem. In this case, we're probably still using an old version of CocoaHTTPServer, which in turn uses an old version of DDLog. But on the other hand I'm wary of continually updating these dependencies, since any change to that library might introduce changes that cause regressions in CBL. —Jens -- You received this message because you are subscribed to the Google Groups "Couchbase Mobile" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/mobile-couchbase/685C88EC-0286-4025-9786-02697C9A60A0%40couchbase.com. For more options, visit https://groups.google.com/d/optout.
