Hey all, I have a framework target, an action extension target, and an app target. The app embeds the first two. The framework provides code shared between both the extension and the app. Some of this code uses CBL; hence, CBL must be linked into the framework. Other code distinct to the app also calls CBL.
Up until now, the framework has been built only from Objective-C source, and I've been able to make everything work. All hell has broken loose recently once I decided to add a Swift class (inheriting from CBLModel) to the framework. Biggest problem: CBL is not a modular framework, and thus apparently cannot be linked into a product containing any Swift. It appeared that I could convince Xcode to cope if I first wrote my own 'Modules/module.modulemap' file into the CouchbaseLite.framework bundle. Indeed, this permits the framework to link. Unfortunately, I now get a slew of other weird side effects (such as methods in completely unrelated classes returning UIViews that the compiler inexplicably interprets to be CBLViews). I recognize that I'm tiptoeing along a ledge trying to tie this all together, and it's time to reach out for some professional help. Oh, did I mention that I'm importing CBL via CocoaPods? No doubt that doesn't make things any easier. Searching the archives, it appears that similar questions were raised by Kevin Lord about a year and a half ago, but as far as I can tell no further discussion ensued: https://groups.google.com/forum/#!searchin/mobile-couchbase/framework%7Csort:relevance/mobile-couchbase/q2kLQv01LKQ/AIjwb_OWLvUJ What is the correct way to build CBL into a composite project as described in my opening paragraph? thanks, -ben -- 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/E5EFF107-FD3B-4357-A4FD-FC597A6179FB%40kashoo.com. For more options, visit https://groups.google.com/d/optout.
