"Missing required module" for C target of SPM dependency within .framework

If you've seen my previous post, this is somewhat related in that it's about the same project, but my previous post is still unanswered. You don't need to read it if you haven't; I've moved on from my previous approach for now.


I have built my Swift package, Jsum, as .framework using a project generated with Tuist. My package/framework depends on Echo, another Swift package by @Alejandro. Echo defines one product (itself) and two targets: Echo and CEcho.

My framework builds successfully. However when I add it to another project and try to link it, I get the following error: Missing required module 'CEcho'

But I'm not using CEcho! As far as I can tell, anyway. Poke around in Jsum's source code and see for yourself. I don't even expose any Echo types in public methods, types, or extensions in Jsum AFAICT.

But as Jsum depends on Echo, and Echo depends on CEcho… Am I doing something wrong? Do I need to compile CEcho separately and include that as a framework as well or something? That is not at all obvious, if true.


Any and all help is appreciated :pray: I have uploaded an example project with my framework embedded here as a ZIP if anyone feels like debugging it themselves.

To those who celebrate, merry Christmas! :christmas_tree: :gift: And to everyone else, happy holidays :snowflake:

1 Like