Projects:
- Main: deployment target 9.0
- Some: deployment target 9.0
- Base: deployment target 14.0
In "Some"'s build phase, Base.framework is added into the "Link Binary With Libraries".
In "Main"'s build phase, Some.framework is added into the "Link Binary With Libraries".
So the dependency is: Main -->. Some --> Base.
When the build configuration is "Debug", it works as expected, "Base" builds first, "Some" follows and "Main" lasts.
But after changed the build configuration to "Release", the linker shows an error:
ld: framework not found Base
Change the project "Base" deployment target to 9.0 can make everything ok again.
I tried some different combinations of deployment targets of project "Base" and project "Some"
When project "Some" deployment target < 11.0, and project "Base" deployment target >= 11.0, the link error shows, because the Base.framework is not generated.(Only in Release build configuration)
ps: May someone tell me that where I can see how the Xcode decide the build order? I can only check build logs, but this is a build result, not why.