> 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.

Reply via email to