In this session, I will discuss how to design, implement, distribute, and use a Cocoa Frameworks. The talk would start describing the different options available (Cocoa touch frameworks, static frameworks and development Cocoapods), following a set of guidelines to (re)architect the code into a modular design and finalizing with some recommendations about swift integration, version management, code documentation and testing; including unit and code coverage. I'm planning to illustrate the talk with a small project that refactor some code, wrap it in a framework and later is used in another application.