At work we have a fairly large project with many, many projects (97 targets in the scheme including test targets and frameworks and whatnot). There is a mix of embedded frameworks, static libraries, a few 3rd party frameworks and a lot of mix and match Swift and Objective-C code with bridging headers in nearly all the static libraries so we could continue adding Swift files to them.
We're wanting to restructure this stuff in pieces and migrate to using SPM with a bunch of local targets that all produce static libraries. The first thought was to start at the root with an embedded framework that we have that doesn't have any other dependencies, convert that to a package and move onto the next. The problem is that has a mix of ObjC and Swift code. I'm able to break that framework out into two targets under a package and get that to compile separately but when I attempt to
@import FormerEFNowPackageTargetObjC into an Objective-C file in one of the other embedded frameworks it says it can't find the module. I have it linked to the root project and added to our scheme (we have find implicit dependencies turned off) but it can't find it.
Here's where it gets interesting. I also tried to import it into one of the static libraries we have further down the line and it can't find it unless I explicitly link against the library generated by the package, but when I do that it runs into an issue with duplicate symbols.
How (or can you) import a Swift package (either ObjC with include directory or Swift) into Objective-C code in both embedded frameworks and static libraries. If so are there any good approaches to doing this?
Edit: This is on Xcode 11.4 beta 2