TL;DR: If I integrate the TwilioVideo in MyFramework via SPM on Xcode, I will end up with an umbrella framework.
Hi, let me give a bit more context.
I'm developing a XCFramework, let's call it MyFramework.
MyFramework depends on TwilioVideo (which is also a XCFramework).
To avoid the problem of nested Frameworks or umbrella Frameworks, I need to integrate TwilioVideo in MyFramework with the option "Do Not Embed".
This way, I will only ship MyFramework, and when someone consume MyFramework, will also need to integrate TwilioVideo.
This is what Apple recommends.
The problem is that when I'm compiling MyFramework integrated with TwilioVideo directly via Xcode or integrated via SPM on Xcode produces different results.
When I integrate TwilioVideo directly on Xcode, it works great, it recognises TwilioVideo as a XCFramework and gives the me option "Do Not Embed", which is the correct behaviour.
When I integrate TwilioVideo on Xcode via SPM, Xcode thinks that TwilioVideo is a static library, which is wrong, and doesn't allow me to choose the option "Do Not Embed".
This means that MyFramework end up being an umbrella framework which is discouraged by Apple.
Check the title "Don’t Create Umbrella Frameworks".
Since it produces different behaviours when integrating the same XCFramework directly via Xcode or via SPM, I think this is a bug or some kind of limitation.