title: Design approach for building static framework and internal linking with other open source libraries
body: <p>I'm creating a static Framework to distribute to other projects. I have some confusion with the design approach for building the framework. I have never built a framework before.</p>
  
  <p>I'm building something similar to <a href="https://github.com/AdColony/AdColony-iOS-SDK" rel="nofollow">AdColony framework</a> where I'll pass some unique id to framework and it will internally call several APIs and it will transfer final output back to the application with proper delegates. And in that AdColony framework only one .h file is public.</p>
  
  <p>I'm wondering some questions:</p>
  
  <p>1) I'm planning to use AFNetworking for all server communication and parsing. So while building framework how I can link my static framework with AFNetworking. AFNetworking headers will be visible in final .framework output ? If external AFNetworking linking is required to my framework so is it a good approach that I'm forcing other developers to include AFNetworking ? Or i have to write down my own basic networking layer ?</p>
  
  <p>2) Can I hide my all wrapper and Model classes and just make 1 class visible to developers for configuration and handling output ? </p>
  
  <p>Apart from above questions if you have some best design approach for building this framework then please do suggest.</p>