On our large iOS project, we have a generated module which bridges types together. That is to say: it analyzes the types contained within a different set of modules, it generates public protocols over the related types, and it generates protocol extensions.
This module is large, with a ton of generated protocols and protocol extensions (we have something on the order of ~35,000 protocol extensions and ~10,000 protocols). Recently, we've begun having issues. I believe we've begun to hit a limitation of the linker; we have so many protocols and extensions, that the extensions from this module are no longer being recognized. In fact, moving the extensions out of this module and into our main app target makes everything work again.
If anyone is aware:
- Is there a numeric linker limitation?
- How can we move forward? We aren't in a position to reduce the total count at the moment, but this has the potential to grind all development down to a halt.