The Apollo iOS project restructured its libraries into separate smaller repositories that can be provided as their own Swift Package Manager (SPM) packages, while maintaining an efficient development workflow. To achieve this, they used Git subtree functionality instead of git submodules, which allows pulling all the code of a repository into another repository from a specific reference, enabling independent work on each subtree while still being able to push changes back to their remote repositories. This approach provides concise SPM packages for features, independently versioned feature packages, and an easy development workflow that allows developers to work together but distribute separately.