When archiving my current iOS project I faced the multiple product bundle problem.
Basically, this happens when Xcode fails to recognise your project as a single product bundle and thus is unable to present it as an iOS App Archive, which is what you submit to App Store.
In my case, the workaround was removing all the Public headers of some of the referenced static libraries (changing them into Project headers).
This is bad because those headers are meant to be public for a reason.
Why is this necessary? Is this a Xcode bug or am I missing something? Why some static libraries need this and some don't?
And finally, Is there another way to solve this problem that doesn't require to change the header visibility?