Static XCFramework won't link to its dependencies in a project

I have an SDK that is a static xcframework built against 3 pods (which are configured as static frameworks as well). When I include the SDK bundle in a client project (which also includes the 3 pods as static frameworks) it gives me linkage errors (Undefined Symbol) for every reference in the SDK to these dependencies. The rest of the project (which also relies on them) compiles (and I presume, links) fine. Why can't the SDK xcframework link to them?

I'm pretty sure no archs are getting excluded. The XCFramework includes both arm64 for device (iOS) and x8664arm64 for simulator

Note, when I convert everything to dynamic frameworks, it works fine.



That's the way it works. Dynamic libraries can't "depend" on static libraries. They have to be self-contained. You can link the static libraries with with dynamic libraries and then omit the static ones from the rest of the project, because they will already be available in the dynamic library.

But if you have cross, or multiple, dependencies, then you may need to run everything as dynamic libraries.
Thanks @Etresoft...

Everything is static in my project. Before XCFrameworks, the prev dev had managed to get a plain (static) framework to work with the cocoapods static lib dependencies by placing their header info in the Headers folder of the framework (the binary being fulfilled by cocoapods I guess). I'm not entirely sure why that worked...

Is there no way to have static frameworks depending on other static frameworks?

I have the same issue, is there any solution?

Static XCFramework won't link to its dependencies in a project
 
 
Q